Excerpt of a mysql/php rant
What I think is more interesting though, is what he has to say about MySQL - the company as well as the product:
I learned databases on MySQL and used it for several years. Then I discovered PostgreSQL and realized that in fact, I'd learned nothing of databases. For years the MySQL developers were quite vocal that things like referential integrity, transactions, subselects, etc were little more than baggage that could be done better another way. They were after speed, pure and simple. Fair enough, in some respect, since the job MySQL was originally developed for didn't require any of those things. The problem is that a whole generation of database programmers believed them, despite the fact that their applications *did* require those things. Someone in authority told them they didn't and they bought it (and still buy it). Let me clue you in: you need these things or you need to let someone else handle your database work for you.
And that, I believe, is the biggest crime. MySQL has strengths and weaknesses. We all do! But the real crime is that MySQL AB and it's proponents try to cover up the weaknesses in MySQL by telling anyone who will listen that a quarter of a century of relational theory is irrelevant and that rdbms enforced data integrity is not needed. Because MySQL is such a popular poster child of the open source movement (although it's not "super open" ... see follow up post) that beginner (and not-so beginner) developers listen to them. They are using that position of respect to paper over the weakenesses in their product and harming the quality of a future generation of open source developers. Very similar things can be said about PHP although not nearly to the same extent.
Where the author says "(and still buy it)" he is referring to David Heinemeier Hansson of ruby on rails fame. ActiveRecord (the Object-RDBMS layer in rails) is most commonly used on MySQL and David is supposed to not care for referential integrity being implemented in the database. I have no idea if that is true being only barely on the edges of rails development. If it is true, then it's very sad that a programmer who so clearly "get's it" has succumbed to the MySQL cool-aid.
03:00 PM, 09 Jun 2006 by Mark Aufflick Permalink