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
> 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
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
More information about the Python-list