Re: Python

[prev] [thread] [next] [lurker] [Date index for 2004/11/05]

From: Scott Walters
Subject: Re: Python
Date: 22:47 on 05 Nov 2004
"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 19:01 on 08 Nov 2004 by mariachi 0.52