Really interesting article on Ruby, Rails, Python, Django, Zope, Java, and EJB. It covers a lot of ground, but deals with stuff I’ve been thinking a lot about lately: what direction to follow as a web app developer.
The Java hyper-enthusiasts have left the building, leaving a significant contingent of Java programmers behind, blinking in the bright lights without the constant drumbeat of boosterism. But the majority of programmers, who have been relatively quiet all this time, always knew that Java is a combination of strengths and weaknesses. These folks are not left with any feelings of surprise, but instead they welcome the silence, because it’s easier to think and work. Where did the hyper-enthusiasts go? To Ruby, apparently.
I especially appreciate his comments about Zope:
I’ve been bumping up against the problem of “but all I want to do is connect a database to the web” in Zope2 for several years now. Oh, it’s definitely something you can do, but unfortunately it’s past the knee of the “Z-shaped learning curve,” and is only trivial if you live and breathe Zope every day. Don’t get me wrong; Zope is an excellent system and incredibly powerful, and Zope3 may be much easier, but I’m out of steam. I have realized that on my site, I really just want to do a collection of simple things, and I don’t want to relearn Zope every time I want to accomplish something. So — sorry, Jim (Fulton, not Kirk) — I’m going to find something drop-dead simple to solve my drop-dead simple problems. Probably PHP5, which actually includes most of Java and C++ syntax, amazingly enough, and I wonder if that isn’t what made IBM adopt it.
PHP5’s simplicity makes it perfect for writing (relatively) small apps — it’s a lightweight solution that lends itself to “dead-simple” problems. I am kind of curious about Zope3, though — I closely examined Zope2 a few years back as a possibly solution for a departmental web system, but the learning curve was just way too steep to make up for the wins you got from it.
(Via Simon Willison Blogmarks.)