01 October 2011
I love the characterization of Python in this post from InfoQ:
"For Adam, Python fostered the development of modern web frameworks, with Zope and Plone. These frameworks introduced concepts like separation of business and display logic via view templating, ORMs for database interaction, and test-driven development were built into Zope 5 years before Rails was born. The main reason why they have not been successful in the market is their complexity and a steep learning curve while being way ahead of their time. Eventually, and despite the initial lack of involvement of the Python community, Django emerged as a strong competitor to rails. .."
That basically says it all: Zope (and Plone) was an integrated, productive framework/application server before EJB 1.0x and it already had ORM, a proper MVC web framework, etc. It was no wonder that EJB and J2EE left a lot of us who had Python backgrounds a little... underwhelmed. I love the point surrounding the "noise" of the community: Python's everywhere - it's a "sleeper" success and yet most people would still not describe it as either legacy or hipster. I remember learning Python in the late 90's and it had already seen adoption by companies that were doing amazing things. That's actually what struck me so much about Python: people who could use any language and technology they wanted, as long as they got results, chose Python. Among the companies that "chose" Python instead of C++ or PHP or even Java (at that point) were unambitious, fly-by-night organizations like Google, NASA, ILM, and many, many more. That spoke volumes more than all the noise Node's generated. (As an aside, if you want to actually build software and take advantage of Node's promise with a language and platform you trust, may I recommend Node.X?)
Python offers a wealth of options for developers. My first Python use cases - even at Python 1.5 a decade ago - were all about exploiting Python's "batteries included" mantra to build distributed applications on grids. Oh, and text processing. Honestly, Python does a remarkable job at text processing. I don't miss Perl, at all!).
I note that if you want a seriously good Python cloud-story, check out ActiveState's (you know, ActiveState, the maker of leading IDEs and integrated language bundles/SDKs for Python, Perl, Tcl, etc., for at least the last decade?) Stackato, which is based on CloudFoundry, the open-source PaaS, is awesome. As much as I love the MicroCloud Foundry VM instance, the truth is that the ActiveState guys beat us (I work for SpringSource, a division of VMware) to the punch: they had a VMWare image running their port of the CloudFoundry cloud before VMware! Awesome ;-)