On Mon, 28 Feb 2005, Martijn van Oosterhout wrote:
On Mon, Feb 28, 2005 at 01:46:16PM -0600, bill@xxxxxxxxxx wrote:
Hello!
Clay Shirky made a comment about MySQL that I thought the PostgreSQL community should be aware of:
http://www.shirky.com/writings/situated_software.html
It's the section (mostly toward the bottom) entitled, "The Nature of Programming, and the Curious Case of MySQL". The whole article is, as normal, interesting and thought-provoking.
Interesting article, but w.r.t. to the MySQL statement, I read: If you don't need any of the things that databases are good for (ACID, transactions, triggers, views) then MySQL is an acceptable choice.
Interesting article, but I'm not much forgiving when a teacher is so imprecise expecially on software history and qualities. It is plain wrong that Apache made it easy, and that before apache a web server was rocket science.
"[...] In the mid-90s, getting a web server running was such a messy endeavor that it was a project goal in and of itself. Then Apache came along, and so simplified the process that the web server became a simple building block for larger things."
I've used both cernd and NCSA httpd, and when I finally switched to Apache the choice was based on project activity: faster evolution, more features, better stability, certainly not because it was easier. Apache is quite a beast to configure from scratch even nowadays, I'd even say it's _more_ complicated than it used to be (think of the different server models it supports, and the large number of modules available). Fore sure, running cernd was not any harder than running apache is today. Mr. Shirky completely missed the point here.
"[...] MySQL makes the job much easier, so much easier in fact that after MySQL, it becomes a different kind of job. There are complicated technical arguments for and against using MySQL vs. other databases, but none of those arguments matter anymore."
Same goes for MySQL. I don't think MySQL is easier to install,
configure and administer: the tasks are almost the same of other
open source databases. And _definitely_ it's not easier to use!
I'm not following their development much, but when I had to use it
I've _always_ found that missing features do make it harder to use MySQL.
Hell, even NATURAL JOIN is nice sugar for small projects, where you
can name columns and tables so that you write queries so "naturally",
hardly having to stop and think. So are foreign keys. These are _not_ advanced features that only SQL gurus use: they reduce development
time and save headaches for _most_ application programmers. They
make programming faster, safer, easier.
So, MySQL success is _not_ based on user-friendlyness. Again, wrong
example.
Back in '95, on the Microsoft side, they didn't even know about TCP/IP. Linux and i386/NetBSD were quite hard to get and install, not to mention completely unknown to the public. No wonder running a web server was not for everyone.
Today, we have distributions that come with a ready-to-run web server. On the Microsoft side, they turned to Unix (NT/2000/2003 is POSIX, and even Bill used to claim "NT is Unix"), and to Internet services. You can run many Unix daemons and they have thier own Web server and SQL server.
So, Mr. Shirky is right, installing and running a web server, or a RDBMS, today is a matter of a few mouse clicks. But _not thanks to Apache and MySQL_ (and to do that _professionally_ is still totally another matter). They're only small bricks in the comfortable house build by the open source movement as a whole.
Development teams behind projects such as Apache (which today is a lot more than a HTTP server) and PostgreSQL pursue the goal of making good products for _professionals_ to use effectively. Most of the burden of making technologies available to as many non-guru users as possible is on distribution makers. If Mr. Shirky wants to set a date, and say "before that" and "after that", it's the day open source distrubutions hit the masses. Certainly there's no "after Apache" and no "after MySQL".
.TM. -- ____/ ____/ / / / / Marco Colombo ___/ ___ / / Technical Manager / / / ESI s.r.l. _____/ _____/ _/ Colombo@xxxxxx
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster