[<<] Industrie Toulouse

I just added Loud Thinking to my subscriptions list, and hope to have time to actually go through and read it soon. Loud Thinking is the David Heinemeier's weblog. Heinemeier is a big dynamic language advocate and is responsible for Ruby On Rails, a Ruby web application toolkit that's getting considerable buzz lately.

I'm not blown away with Rails. I'm personally more interested in toolkits like Seaside and Wee. Many other pieces of Rails I've seen done in Bobo / Zope to varying degrees. I still believe that Bobo, aka the "Python Object Publisher" is a significant piece of web technology and is still a fundamental part of Zope 2 and 3, wherein an HTTP (or FTP, or other) request is translated into an object call. The Python Object Publisher is an ORB [Object Request Broker] in this sense. Beautifully simple and powerful. Don't let the complexities of the systems built on top of it (Zope 2, etc) fool you.

Anyways, Heinemeier seems to have a lot of interesting ideas and is willing to happily talk about them. Contrary to what you may read in trade rags, the web is not dominated by J2EE. Almost all highly popular and/or innovative web sites are implemented in, or were prototyped in, an agile language such as Python, Ruby, Lisp, or Perl. Movable Type? Perl. LiveJournal? Perl. Google? Prototypes in Python. Yahoo Maps? Python (I don't know if the current version still is, but it was a Python one for a long time). There are some very large news organizations running on Zope (Python). There are a growing number of popular Ruby web applications and sites as well.

There are often grumbles in the Python community about there being "too many Python web frameworks." and wondering what can be done to compete with J2EE. Why compete with J2EE? I know of few who are happy with it. How many Java Web Frameworks have sprouted up in recent years as alternatives or add-ons or extreme enhancements of J2EE's web support? Think Java Server Faces. Think Struts. Think Naked Objects. Think Hibernate. And those are just the names I know of as an extreme outsider. I think it's good that there are different web frameworks and toolkits for Python. Part of being agile, I think, is having a good set of tools to choose from to get a job done. It's far better than a rigid specification that is meant to copy the rigid specifications of a technology that no one seems to really enjoy using.

Although - it would be nice if some toolkits or parts of toolkits were made to be more standalone. I'd love to use Nevow's stan in my Zope and FD4 (an in-house data management framework). Stan is an S-expression like system for generating HTML in Python that actually looks good and one isn't scared to maintain (a simple stan example can be found here). Being able to use stan without the rest of Twisted or Nevow would be nice, just like there are many implementations of the wonderful TAL.