Voting for PEP 308 (was Re: For review: PEP 308 - If-then-else expression)

James J. Besemer jb at cascade-sys.com
Tue Feb 11 01:35:29 CET 2003


Laura Creighton wrote:

> Most of the people who don't care will also not be posting.  Or
> voting. They're probably not reading comp.lang.python, either.  I
> remember when 2.0 came out and people found out about string methods.
> A whole bunch of them came back to post articles about how they
> thought the new join syntax was really awful and ugly.  They only
> cared after it got in, but enough to complain a lot.

If we could accurately predict the future, life would be so easy.

Then too, the join syntax is but one small stumbling block in the overall 
string methods change -- just a nit really -- which suggests says the change 
overall was a net step forward.  I certainly think so.  Don't you?

> This is an argument that such things should not be decided by popular
> vote, and I agree.  

That's why I actually LIKE the idea that we have a free for all discussion 
and then ultimately whatever we come up with gets vetted by Guido (and 
perhaps a few trusted advisors).

On the one hand, I sincerely believe the old Chinese saying, "three tailors 
can outwit the smartest general,"  so I am suspicious of Guido being able to 
make the right decision in every single case, his spectacular track record 
notwithstanding.  But OTOH I am even more fearful that a committee, 
especially a "committee of the whole," may do more damage than good.

It's unfortunate that Guido himself is ambivalent.  Also, it's kind of 
awkward that the PEP is sitting out there without a real champion.  That's 
not right.

> That being said, I think that we have broad
> consensus here that perl is an *ugly* language to use.  

I absolutely agree.

My comments about beauty being purely subjective notwithstanding, Perl is 
virtually the antithesis of "beauty".  Furthermore, I believe there are many 
objective arguments why Perl is "ugly".  PERL grew piecemeal and haphazardly. 
  I know people who were in that development community early on and (Larry 
Wall's claims notwithstanding) they're a bunch of hackers without any 
language design experience.  They started hacking (IIRC) C Shell and some 
other utilities and never looked back.  Those fools actually REVEL in all the 
cutsie punctuation puns and other line noise that is very hard for normal 
people to learn, use and later to read.  The pervasive, fundamental notion of 
"scalar vs. vector context" is profoundly brain dead.  The list goes on and 
on.  In fact, Perl, clearly, is so incredibly bad that it's really an amazing 
to me that anybody still uses it, given better alternatives like Python.

One thing that's great about Python is it's PROOF that you don't need all the 
  Perl gobbledygook to get the power.

Even if we disagree on some points, please don't mistake me for someone who 
doesn't care about the elegance of the language or who simply want's to glom 
on features for no good reason.  (Even if you yourself happen to think that 
there's no good reason ;o).

 > People who
> switched from Perl in order to have a beautiful language to use every
> day, voted their personal preference with their feet.  If they decide
> that Python has become too ugly and they get a more beautiful
> alternative, they will vote with their feet again.

I certainly don't doubt your (or most other's) sincerity on this point.  In 
the extreme, I will stipulate that this is a valid concern.  If major non 
backwards compatible changes were made, say, forcing people to rewrite their 
code, that would be bad.  E.g., Say we decide to put "$" in front of all 
variables.  I frankly can't think of more a realistic example, but I'll 
stipulate there may be some hypothetical major future mod that would force 
people to run away.

Where I have a problem is that I think many Pythonistas exaggerate this 
theoretical threat way out of proportion.  While you are entitled to oppose 
PEP-308 on nothing more a whim, it's simply mistaken to imagine or to argue 
that such a TRIVIAL change (in the scheme of things) would send people away 
in droves.  The language is great and it's hard to imagine small, upward 
compatible changes at the margin having any impact at all to it's popularity. 
  Too, Python and it's development process is so far removed from Perl that I 
think it's really overly paranoid to fear that Python could ever possibly 
fall anywhere near that far.  Good rhetoric but not a realistic risk.

On the other hand, I know a number of developers who originally learned Perl 
and like it for the same reasons people like Python -- because it's so much 
more powerful than alternatives like C or C++.  Beauty aside, Python and Perl 
are fairly similar in overall power.  I try to convince them that Python is 
better but "Python is more beautiful" does not outweigh "it's something new 
and substantial to learn for unspecified gain".  For that audience, the 
absence of trivial, familiar and widely understood constructs like cond-if is 
ABSURD and actually constitute a major barrier to adopting Python in the 
first place.  I know there are a lot of C-haters on the list but like it or 
not C does happen to be one of the more widely known and used languages 
around.  It's really not a bad model for some small things like PEP308.

So, while I respect and agree with your theoretical concern, I think many 
Pythonistas are overly paranoid and are wrong to apply it in this and certain 
other contexts.

Sincerely,

--jb

-- 
James J. Besemer		503-280-0838 voice
2727 NE Skidmore St.		503-280-0375 fax
Portland, Oregon 97211-6557	mailto:jb at cascade-sys.com
				http://cascade-sys.com	







More information about the Python-list mailing list