Thursday, September 16, 2004

Languages, behavior, and frameworks

It's quite interesting when different topics fuse together so nicely. Over the last days at c.l.py, and over this blog, I've been ranting about IDEs and frameworks for business applications. In an independent thread, I've also written a note about the seemingly connection between programmer behavior and the choice of programming language. Simon Brunning posted a comment on this blog pointing me out a discussion over Charles Miller's weblog about the behavior of Java programmers. In a interesting twist, there's a comment that connects the Java mentality with egoistical search for a revolutionary framework. The author argues that for historical reasons Java programmers had to come up with their own little pet frameworks in order to be able to do anything useful with the language. As a result, today everyone is an architect, that loses precious time bragging about his design abilities.

I compare this situation with Python's one, and see two different trends at work. My argument is that Python inherent elegancy has attracted a nice community that values respect and objective discussions. But it's clear that Python is lacking in the area of business application frameworks. Is it possible that the parallel development of a dozen different frameworks will change the character of the community? Although I agree with the argument for Java, I don't believe that the same will happen with Python. First, because there's already a strong and solid community working. But better, it seems that most Python users (using c.l.py population as a sample) have learned (maybe from previous experience with other languanges and environments) the value of consensus. In some way or other, I hope that the community will find a way to agree on a few principles of design for business applications; and then, with time, a recommendation, or even a PEP with stronger guidelines, or even a standard framework. Of course, this is a long road, and we know how diverse frameworks need to be given the different needs. But some common ground can be found, I'm sure, and I hope it will be found sooner than we expect.