Ian Bicking: the old part of his blog

Re: Why Web Programming Matters Most

OMFG. The amount of hand-wringing going on over this topic is beyond belief.

Is the sky going to fall if Python doesn't come up with a draconian "web standard"?

Are you all so eager to have legions of script kiddies using Python, leaving you with huge messes to clean up?

I do nothing but web development for businesses, and I use Python, and all this talk about how hard it is to get started with framework X, Y, or Z is utter balderdash.

Sorry if I sound harsh, but you guys are spouting nonsense, and encouraging some "sense of urgency" among each other in the same way that mass hysteria impacts mob behavior.


Comment on Why Web Programming Matters Most
by L. Daniel Burr


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 :-)

# 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

"Are you all so eager to have legions of script kiddies using Python, leaving you with huge messes to clean up?"

That statement represents part of the problem: elitist, short-sighted, unproductive, hand-waving.

Would you prefer cleaning up huge messes written with messy tools?

A regressive attitude will not make the problem go away.

# anonymous

I'm not the one hand-waving here, my anonymous friend. Hand-waving is an attempt to gloss over the difficulties of solving a particular problem.

My whole point is that I don't think there is any problem at all, much less some dire problem that threatens the future of all Pythonistas everywhere.

You can engage in further ad-hominem attacks, but that is hardly productive either, and you seem to care about being productive.


# L. Daniel Burr

"Hand-waving is an attempt to gloss over the difficulties of solving a particular problem."

"My whole point is that I don't think there is any problem at all"

Exactly. You don't think, others do.

"You can engage in further ad-hominem attacks, but that is hardly productive either, and you seem to care about being productive."

Your reply lacks any productive statements.

"The amount of hand-wringing going on over this topic is beyond belief."

"Are you all so eager to have legions of script kiddies using Python, leaving you with huge messes to clean up?"

"you guys are spouting nonsense"

And YOU complain about ad-hominem? While ignoring the substance of my response? And the numerous posts in agreement with the original blog entry? And those mapping out positive goals and directions? In other words; people like you are part of the problem. Solutions will proceed with or without you.

# anonymous

It would be impossible to for me to ignore the substance of your response, Anonymous Coward, there being no substance for me to ignore.

You have supported your contention that there is some dire problem here by basically saying "See? Lots of people here agree with me. I must be right!" Hardly conclusive evidence.

On the other hand, I have made it clear that I am speaking from my own personal experience, right, wrong, or otherwise. If you consider yourself to be more credible, try signing your name for a change, and speaking to your own experiences. That would be productive.

As for solutions moving forward with or without people like myself, you are being a bit unrealistic. Preaching to the choir of like-minded people who believe that "something must be done or Ruby/PHP will beat us!" isn't going to solve the problem you claim exists. If anything, you have to sell the sceptics and nay-sayers first.

So convince me. I've already stated my reasons for believing as I do. You haven't done anything except attack my right to do so.


# L. Daniel Burr

"You haven't done anything except attack my right to do so."

You are projecting again.

# anonymous

Your failure to perceive the problem is remarkable but altogether unhelpful.

# s