Posts

Showing posts from May, 2008

Deprecated vs. Obsolete

I was recently reading about Microsoft Data Access Components, and noted that some components have been deprecated, while other components have been marked as obsolete. What exactly is the difference between deprecated and obsolete? I came across the following definitions: Code that is tagged as "deprecated" is officially still available for use but will typically have already been scheduled for removal at some point, so it is in your best interests to start looking for an alternative. Code that is tagged as "obsolete" is offically no longer supported and shouldn't play a part in any normal build, but those features might still be available if you absolutely need to access them. You are *strongly* discouraged from continuing to depend on obsolete code on an ongoing, long-term basis. As of today, the following MDAC components have been deprecated: Microsoft Jet Database Engine MSDASQL(the OLE DB provider for ODBC) Remote Data Services (RDS) The following MDAC

Synchronicity

I've been reading a little bit about ADO. Something that has always been confusing to me, though I don't think it is that complicated of a concept, is the difference between synchronous and asynchronous operations. Because of the confusion, I'm taking the time to write out the definitions, in hopes that it will burn it into my long term memory. In a nutshell-- Asynchronous Operation: An operation that returns control to the calling code prior to completing. Synchronous Operation: An operation that does not return control to the calling code until it completes. These are somewhat simplistic definitions, but there are many different domains that use this terminology, and the generic definitions above seem to capture the essence. The definitions seem somewhat counter intuitive to me. Synchronous implies running together and concurrency. However, it is the synchronous operation that prevents any calling operation from running at the same time. With asynchronous operation