Wednesday, April 10, 2013

Ah the joys of working with Microsoft's SQL Server

The past 3 days have been largely unproductive because of the complexities arising from multiple versions of SQL Server and Visual Studio on my machine.  There is a known bug where if you installed VSExpress 2010 at sometime in the past and then try to install the SQL Server client tools you will have a dependency problem that prevents the SQL tool installation.
In my efforts to get this installed I pulled off all my SQL Servers and my Visual Studios but to no avail.  Even the hack found here failed me.
Today after many many hours of frustration I believe I have things back on track but man is my machine probably messed up getting to this state and I doubt I will remember all the steps and things I tried if I have to do this again.
Why is it that software for money is so complex?  I think Christ was right when he said that money is the root of all evil. 
The motivations to make money in software are contrary to the motivation to actually solve a problem.  New releases are needed to keep money flowing in - whether or not they are really needed.  And you can't charge someone for a bug-fix release - that is just too embarrassing to admit and to audacious to charge people for.  You need to package it in ways that maximizes the ROI.  You have to invent more fancy ways to use your solution, and you better not find a better solution that makes your old one obsolete - not unless you have competition forcing your hand.
SQL Server has historically been a pretty expensive product and not easy to get at the Microsoft Company Store.  Today I installed SQL Server Express 2012 - the competition has forced the great Microsoft to release its technology free.  MySQL and other free solutions are just too good to keep the fences up.
When working on Sidewalk, an early Microsoft website done before the days of ASP, a very clever developer on our team invented CQL (Conceptual Query Language) which consisted of an ODBC driver that accepted queries in a high-level language that was then translated into the optimal SQL query and cached.  Once this engine got loaded up it screamed and devs no longer needed to know much at all about the schema.
That dev was later hired by the SQL Server team, and I had high hopes to see CQL shipped as a revolutionary solution - but it never happened.
I doubt it could be due to a technical problem, as we were using it under real life loads in Sidewalk for years.
I think such a revolutionary solution would have put too many DB consultants out of business, including a whole division within Microsoft.
So we live with layer of crap over a pretty good basic DB engine and the whole world gets to download gigabyte plus sized install packages to deal with the immense complexities of products that have 20+ versions and packages out there.  Just look at this download page.
Code reuse - till the business model fails.

Sorry, I'm just burnt out on this stuff.