Ian Bicking: the old part of his blog

Re: Why Web Programming Matters Most

I totally agree with you.

Trying to explain to people how to do Web programming in Python, or even trying to convince them to let me do Web programming in Python (instead of say PHP) has been an embarrassment. (This despite my opinion that PHP is an embarrassment to the term "programming language".)

I have long believed that Web scripting is the domain with the biggest bang-for-buck you can get out of a high-level language, mainly because the Web is the universal user interface. Once a program is placed on the Web, its functionality becomes instantly accessible to millions of people. Tiny, simple programs can become useful groupware tools. It's all about the barrier to entry.

Over the course of Python's history, i think Guido hasn't recognized the full significance of this. It's not due to any shortcoming as a language designer; it's just that the Web is not what he does every day. At PyCon i heard him remark something along the lines of, "The Web isn't everything" or "There's a lot more to programming than the Web." Well, yes and no. There's certainly a lot more ways to use a programming language than just for Web programming. But if you're talking about adoption, the Web is everything, nearly.

Improving standard library modules to support Web programming (such as cgi.py) has been on my to-do list for ages. I bear some of the burden for not acting sooner to improve things in Python, and it weighs heavily on me.

Not all is lost, though. PHP succeeded at displacing Perl as a widespread Web programming language, so maybe it can happen again. Python can still do many things that other languages can't -- for example, cgitb exploits Python's unique strengths to provide a huge win for Web developers. Huge. Using cgitb completely changed how i did CGI development overnight. Even though it was introduced a few years ago, no other language has anything like it. Things like this point to deeper strengths in the language that no amount of hacking can add to PHP.

Comment on Why Web Programming Matters Most
by Ping

Comments:

--> Trying to explain to people how to do Web programming in Python, or even trying to convince them to let me do Web programming in Python (instead of say PHP) has been an embarrassment. (This despite my opinion that PHP is an embarrassment to the term "programming language".)

The vitrol that Python programmer's have for PHP has always baffeled me. Frankly, part of the reason I've avoided learning Python is because every Python programmer I've ever met has been a prick about my current choice in programming language. PHP works, I enjoy programming in it, I like the way it feels and reads, and the user community is incredibly supportive. More importantly, I've built some seriously effective web applications using it. If you want me to bother learning Python, loose the 'tude, dude.

Seriously, every language has its problems and it's quirks. PHP is far from perfect (e.g. no namespaces), but many of Python's language design features, such as the meaningful whitespace concept, I find unpleasant to work with. (A little too much like FORTRAN for my taste.) That doesn't mean that I don't think its a good language, or that Python programmers are bad people. (Just pooly socialized.) Obviously people have done a lot of great work in Python, and its a very useful tool. But its also a language that has a very different syntax from PHP, PERL, JavaScript, Java - languages that web people are familiar and comfortable with. If you want to get us to part with our semicolons, curly braces, and crazy bohemian whitespace, you're going to have to be nicer to us, and more polite about the tools we love.

# David Cloutman