From: Luke A. Kanies Date: 20:02 on 05 Nov 2004 Subject: Python I contemplated disgorging some mysql hate earlier this week, but that seemed so pedestrian... I know most of the scripting languages. I've done something in almost all of them. I was functional in ruby in four hours. I can write passable C, Java, LISP, and a good few others. I absolutely cannot write python. Maybe it's a read-only language? I don't know. Maybe I'm retarded? Maybe the gentoo install is retarded? I don't know. Whatever the deal is, though, python just doesn't make things easy. Whereas ruby operates on "least surprise", python seems to operate on "do it your damn self" or something. I haven't struggled this much at every step since I first started shell scripting almost a decade ago, and frankly, it was less troublesome then because I knew it was my problem. Will I get it all figured out eventually? Yes. Will I be sorely tempted to carry a gigantic python book around at all times, so the next time someone talks about perl being executable line noise I can hurl the book at said pythoner? Yes, yes I will be so tempted. Whatever drugs Guido was on when he figured out how module loading and classes and namespaces all should work, he should not do those drugs again. Ever. Ugh. The list goes on, but probably the stupidest things are all the namespace stupidities, and the fact that i can have 'class.method' as an individual line with no output and no warnings. "Why no, I'll not call that method; you are now referring to the actual method, not calling it." Great, but what are you doing with the method? "Uh, giving it to you." Yeah, fine, but there's no freaking lvalue, so do you print it? "No." At least perl freaking tells me that I have a value in void context, and it's trivial to figure out. Python? "Do it your damn self."
From: Scott Walters Date: 22:47 on 05 Nov 2004 Subject: Re: Python "Thick with unhelpful idiom to do banal things" was my exact impression. The problem with you and I is we don't stay novices long as we've /learned how to learn a language/. We get over those small hurdles quick, then the big ones hit us in the nads. PHP looks easy to a novice who thinks, "oh, that's all I have to cut and paste?", but when I see an example, I cringe at the scoping stupidity and the near point the while thing the language breaks down; ditty for Python. Many suspect Perl was an /accident/, and no language so "ugly" could possibily have been the result of a torough assessment of the millions of problems involved in creating a language whose idoim scales, but it's this kind of hubris-through-ignorance that makes people think "oh, it's /easy/ to write a clean language, Perl just screwed up" and then procede to do worse. Or more often, to over-value the immature, partial iplementation they have of another language because, since things are so simple, /obviously/ Perl is making them more complex than they need to be. This dillusion is self sustaining for the author of the language until the big growing pain hits - PHP and Python are both having serious growing pains, trying to make the languages consistent while including more features and getting rid of early mistakes. Ain't so easy, is it, guys? Pike had the benefit of 10 years of growth before becoming Pike; Ruby didn't underestimate the difficulties in designing a language; Java aimed for a reasonable grammatical target and hit that target; REBOL explored new turf rather than arrogantly rehashing old ground. PHP and Python, like so may languages, were accidentally shat out, and then their creator "saw that they were good", whether or not they were. This is of course overly harsh and melodramatic but only to make a particular point, not to praise or disparage any language excessively; Perl has problems, and PHP has a special marketability, and Python is a good alternative for many people and will certainly get past it's growing pains. And, after a design that endured a decade, and after avoiding upsetting the apple cart for years, Perl is having its growing pains. But the point is, no matter how smart you are, unless you think all of this stuff through, a language that's something other than yet another grad-school toy language won't magically appear as you type at the keyboard; this stuff requires thinking through. But it's not just you. Python programmers, especially Python programmers with a background in only C, C++, Java, and/or sh, are high on their own ignorance. (And again, to be fair, I don't endorce Perl programmers high on their own ignorance either.) -scott On 0, "Luke A. Kanies" <luke@xxxxxxx.xxx> wrote: > I contemplated disgorging some mysql hate earlier this week, but that > seemed so pedestrian... > > I know most of the scripting languages. I've done something in almost all > of them. I was functional in ruby in four hours. I can write passable C, > Java, LISP, and a good few others. > > I absolutely cannot write python. Maybe it's a read-only language? I > don't know. Maybe I'm retarded? Maybe the gentoo install is retarded? I > don't know. > > Whatever the deal is, though, python just doesn't make things easy. > Whereas ruby operates on "least surprise", python seems to operate on "do > it your damn self" or something. > > I haven't struggled this much at every step since I first started shell > scripting almost a decade ago, and frankly, it was less troublesome then > because I knew it was my problem. > > Will I get it all figured out eventually? Yes. Will I be sorely tempted > to carry a gigantic python book around at all times, so the next time > someone talks about perl being executable line noise I can hurl the book > at said pythoner? Yes, yes I will be so tempted. > > Whatever drugs Guido was on when he figured out how module loading and > classes and namespaces all should work, he should not do those drugs > again. Ever. > > Ugh. The list goes on, but probably the stupidest things are all the > namespace stupidities, and the fact that i can have 'class.method' as an > individual line with no output and no warnings. "Why no, I'll not call > that method; you are now referring to the actual method, not calling it." > Great, but what are you doing with the method? "Uh, giving it to you." > Yeah, fine, but there's no freaking lvalue, so do you print it? "No." > > At least perl freaking tells me that I have a value in void context, and > it's trivial to figure out. > > Python? "Do it your damn self." > > -- > Q. Does Usenet help stamp out ignorance? > A. That depends on whether by "stamp out" you mean "eliminate" or > "reproduce rapidly in great quantity." > -- From the Usenet FAQ > --------------------------------------------------------------------- > Luke Kanies | http://abstractive.org | http://www.bladelogic.com
Generated at 10:26 on 16 Apr 2008 by mariachi