• Hi Steve,

    I enjoyed your article and I have a few observations regarding it...:-)

    1. I have worked with Relational databases since they were invented and publicly available. (I attended the second SQL course for DB2 at IBM in Reading, England, in 1983.) During that time, I have worked with DB2, MS ACCESS, System 2000, MySQL, Oracle, PostgreSQL, and SQL Server, plus a number of Hierarchic and Network model databases. SQL Server has nothing to apologize for; it is an excellent implementation of the Relational model.

    2. I had major problems with PostgreSQL when trying to use it (at a client's insistence)with Fujitsu COBOL (which requires access through ODBC). The ODBC driver was broken and no-one would take responsibility to fix it. Eventually, I persuaded the client to move to SQL server and that's where they are to this day. Open source is a great idea and I support it, but Microsoft back their products and stand by them. That is a very important factor for those of us using RDBs commercially.

    3. People who are using SQL as a development language may perceive differences in features of the language implementation and feel that some other implementation has something they don't get with MSSQL, but it is rarely a show-stopper and the thing to remember here is that most sites running an RDBMS are NOT developing in SQL. They will be using Java or C# or C++ or even COBOL. Their RDB is a REPOSITORY which they manage through application code.

    4. All of the in-house development in our company uses C# and SQL Server. It was therefore a very natural progression to move to LINQ as the "data manipulation" language. We have tools that generate a Data Access Layer (DAL) from old COBOL legacy and that DAL can utilize embedded SQL OR LINQ. The DB access is generated for us as a separation layer comprised of Classes (objects) that handle CRUD operations for each set of tables on the DB, so we really don't care what features of SQL are in one RDBMS implementation as opposed to another. For new development we simply invoke the appropriate method of the appropriate DAL object (legacy tools do this automatically when the legacy code is transformed to the new technology) and can also write new views into the DAL if that makes sense. I have been astonished by LINQ and we won't go back to SQL as a language. Our applications (old and new) no longer contain embedded SQL (or LINQ) and all of this is moved to the DAL objects.

    BOTTOM LINE: SQL Server is an excellent product and is well supported by the vendor. (To be fair, I can't think of ANY RDBMS which I would term "bad" these days; such software wouldn't be around long...) Your concern that some people might consider moving to other RDBMS because they have more fluff for SQL programmers, is, in the broad scheme of things, unlikely, in my opinion.

    I see LINQ as the future and that means SQL Server (primarily), (other RDBMS are getting LINQ now also).

    For us, the use of embedded SQL is obsolete. We maintain knowledge of SQL so we can keep LINQ honest, but we have never needed to interfere with what LINQ does.

    Cheers,

    Pete.