Ian Bicking: the old part of his blog

Why web programming matters most comment 000

I agree although a little more moderately. I am a Python web developer and have been able to meet any customer requirements using either Webware or Plone/Zope.

And I would argue that the reality is Zope has become THE Python Web framework. Does that mean we should stop working on WSGI? No. But Zope and Plone now have significant backing from large organizations. Plone/Zope is the official web platform for several federal agencies including NASA, NOAA, and the U.S. Navy. And even more large commercial companies have settled on Zope including Intuit and SGI. Like it or not that's a lot of market share and name recognition. Plus there are plenty of mom and pop sites running Zope as well. It seems that the Web has declared Plone/Zope a definite leader among web frameworks in general.

And as far as the core language, Python's weak XML support is a far greater threat to its success as both a web and general purpose language.

Web services and other web-related XML standards are becoming more important than any given web framework or paradigm in software development. J2EE and .NET are killing Python in the SOAP arena not to mention all of the other places where XML is applied heavily.

Count how many SOAP examples are in the latest edition of the "Python Cookbook" (Answer: 0). Also count the number of core Python libraries related to Web/Network programming versus the ones related to modern XML standards.

And if you still have doubts about Python's suitability and scalability for Web applications just ask Google how they feel about it :-)

Comment on Re: Why Web Programming Matters Most
by Joel


Your more moderate agreement is probably more productive that my rant, I readily concede ;)

As for your point about Zope being the de-facto standard, I agree. I'd also point out that there has been plenty of conversation about finding ways to use the Twisted framework for Zope's network plumbing, so that Zope can be more focused on its core problem domains. Also, Jim Fulton (the Zope Pope) has stated that he would like to incorporate some of the desirable features of the Nevow framework. The Twisted folks, for their part, have dropped their Interface implementation in favor of the one used in Zope 3.

SQLObject is a de-facto standard these days, too.

Now, my point in rambling on about this stuff is that I like the standardization that I've described above, because it happened naturally. Nobody had a big summit to lay down the law or make sweeping pronouncements. I hate the kind of standardization being argued for in this topic, because it is an attempt to dictate a "winner" technology stack, instead of letting the winning combination be determined by the only measure that matters, which is utilization in the field.

The irony here is that there is so much talk about creating a standard, about limiting choices, about making it easy for developers to avoid thinking about which technology to use when building a web application; Rails is just a framework that somebody built to solve some problems, and it happens to be evolving into a de-facto standard in Ruby-land. No voting or consensus involved, just natural forces at work.

What is being proposed here will fail, because it is an artificial, design-by-committee solution to a fictitious problem. Somebody, anybody, please give me a real example of how it is so easy to do X in Rails/PHP/whatever, and how it is just so much harder to do in Zope/Twisted/whatever.


# L. Daniel Burr

While on some level "standards" are decided after the fact in the Open Source community, but they are rooted in conscious decisions. No one said that Jim Fulton had special authority over Nevow, Python web programming, or anything -- the informal authority he has was gained through his action and involvement, and leveraging the authority from a popular framework (Zope). And even in the presence of Zope Corp, he still doesn't get a pass when it comes to authority in that community. "Authority" in all these cases still only means that people choose to listen to him, not that he can actually make people do much (at least outside of Zope Corp).

In turn he chooses things consciously and strategically. Many people in the community do this -- they choose something, either to follow the opinions of others, to start out on their own, to become part of some project -- based on conscious decisions that include their imagination -- what they think will happen with projects, how they personally feel invested or alienated from a project, how they imagine a design fitting into their unknown future developments. Not all programmers do this -- but almost all the ones that matter do. Developer-users -- people who just download packages and use them in their isolated environments -- have very little effect on the code or community. Imaginative programmers are what make things happen, and that's who I'm trying to appeal to with most of what I write on this blog, because sometimes code alone isn't enough to spark someone's imagination. And sometimes I don't have code to hawk anyway ;)

In conclusion, because I don't think I've made my point entirely clear yet: on one level you can look at the community and its decisions as an organic process of evolution. And seeing that you can think that conscious decisions and strategies don't matter, that standards can't mean much, that the best man will always win in time. But the other side is that the community is made up entirely of individuals -- it seems organic because there are no authoritative institutions, no authoritative decisions outside of what an individual chooses for him or herself. But individuals make decisions for very conscious and personal reasons, and though it's a different process to appeal to a community of many individuals, it's still worth doing.

# Ian Bicking