Registered: Jun, 2003
Re: Python and the Programmer
Posted: Jun 8, 2003 1:35 AM
Well, let's talk about Python and making life easier for the programming - no bullshit reasons for not accomplishing this objective.
1. How about a switch statement? Why not? It would make many lives easier in comparison to the resort commonly recommended to fix you the programmer here, and not the language - the if/elif garbage. But has this every been done, this one simple thing that for all we've ever been told by the purportedly beatific designers is _only_ a convenience and therefore never going to be a part of the language? Come on!
2. One thing that makes my life as a programmer easier is if I can write a program in a specific language, learn all of its idiosyncrasies and develop applications written in that language. With python I am faced with the questions of:
- do I write this in the version of python that is on most people's machines, is what most of the extant books contain examples for and isn't so slow people will not want to run my program at all (1.5x)
- do I write this in the version of python that adds more obtuseness yet addresses bitrot and adds in some classes that are handy, one I can run Zope on, where Guido works, for example - well this would be 2.1.this, or is it 2.1.that? And what is the difference in the versions again? Tell me this was for my convenience as a programmer - bullshit alarm going off with klaxon tone.
- how about I write my code on the recommended, modern, version of python. Still has no case construct, even though for all the OO hoity toity poobah about python 90% (oh yeah, take a look!) of every python program I've ever seen are "procedures", but we do manage to make it yet slower than ever. And Zope won't run right with it. And besides Zope, for all of Bruce Eckel's praise and vaporous talent, along with the python luminaries (you-know-who-you-are-ly-yours) so holy that they can't be bothered to take a break from this nonsense for the mere sake of programmer satisfaction with the language when they ask for some simple constructs, a real Internet class library (hey, if were gonna bash PHP let's back it up), and SPEED GODDAMIT. This would be versoin 2.2.. no wait: 2.2.3 Final (released May 30), or wait: 2.3b1 (release April 25th!) - you know it and I know it the only people who are going to write books^H^H^H^H^H programs in this because it's easier is Guid, I mean Tim, ... wait, no one.
I want to love python. I really do, but python has a huge glaring faint-hued elephant-sized problem - it doesn't know what it is anymore. If it was convenience for the programmer it isn't anymore, but does Bruce criticize this - no, only praise. Reality check o important ones - this is the disease in action, you just heard the warts being removed because someone with a big mouth but no working neato product said they were removed.
Say it's quick to write programs in? Sure, if you don't bother to read all of the pendantic PEPs, don't care if it will run on any machine that has python installed (they better have 3 versions and we all know it), and you aren't going to write anything big. Many people say that perl isn't good for big projects, Java or maybe python is much better - if that were true I think we'd see alot more big projects written in python than there are in perl, or PHP, or Tcl.. but for all of the inbread blind hype o c.l.py we don't really see any code out there. Show me one single good python based webmail system... or even a decent modern shopping cart, please!
What we have: Lots of basic editors posing as IDE's behind a mask of bloat; only one decent application server that has recently been infected by the "let's change stuff for our own reasons, make things harder (page templates are hard folks, dtml was easier... wasn't that what you were supposed to... oh yeah), and go in 3 or more directions at once behind closed doors and not really produce anything" disease. Maybe it's the new old blood. The few products that do exist that are even half way decent are bound by the most personal and disengenuous licenses any "free software" afficianado has ever seen - and there are a ton of them - these things are _only_ free as in beer. Unless you want the pro version... otherwise you fellas stick to your free classes you get with the language and that big ass application server that breaks down with 5 concurrent requests per second.
Look at Zope and python a few years ago - ahead of its time, small, a toolbox you could work with. You could make the case then that there were features about that language that made it great, one of them being that it was easy (a joy even) to write programs in. Now they are both giant frameworks that the programmer has to bow down to and form themselves to their lofty limits and their narrow exclusions. Tell yourself that it's for your own OO goodness, tell yourself that speed doesn't matter, or backwards compatibility, persisting in a single direction at a time, or that maybe people really believe and respect you when you (at your job that uses some other language) boast casually about the "cleanliness" of python... but that isn't actually make it be any of the good things you say.
Please, DO NOT write an article telling us that what python is right now is a language developed with an eye towards you, the programmer at large and your convenience. Bullshit. And if you do believe that I have some evidence of WMD in Iraq that would justify a war there on its own merit.
puhleeeze... windbags, it's time you stopped with the snippets unless you are talking about putting the language on a diet and speak your proof of authority on this subject with code. And I mean a whole working program... let's see python use patterns and easily generate that large-scale program other languages aren't suited for; do it quickly because you can right? And make it an application like PHPNuke, Scoop or any of the many other very popular and _easy_ to write Internet programs not written in python.
Thanks, we'd all appreciate that and then we promise to take you seriously again and write lots more litle and big programs compared to PHP or perl. Otherwise stop leading around the noobs so that you can pander your product to the paying customers while leaving the others to wonder just how your product works for themselves.
I plead with you influential people that promote python on the basis of programing skill, "craft", that if you can you should salvage this language and give it back the virtues you sing about. Take of the pointy hat and the mantle of "I'll tell you whats good for you" or yet more people like myself will jump ship (to what? alas... we need a new language) and acknowledge the fact that the last thing that python is today is a language focused on You, the ordinary programmer.
It is focused on its luminaries, the light is so bright they won't see the end of their language until the one day it becomes so slow that it actually stops. Of course the academic will have no reason not to continue at that point... remember your roots, and the People's Front of Judea debating on how to save the life of Brian, or leave the rest of us out of our plans altogether.