<br><font size=2><tt>Hi Jeff,</tt></font>
<br>
<br><font size=2><tt>> Well put. I come from a physics FORTRAN
background and when I <br>
> decided to learn C and start using it I heard the same arguments:
<br>
> it's too hard to read.</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> It's a silly argument to use against a language.
It's like an <br>
> English-only speaker claiming he won't learn Greek because he <br>
> doesn't understand it :-)</tt></font>
<br>
<br><font size=2><tt>Now that's well put.</tt></font>
<br><font size=2><tt> </tt></font>
<br><font size=2><tt>> I've been programming Perl for about 10 years
and Python about 6 <br>
> months. Most of what Python programmers find counter-intuitive
<br>
> about Perl seem perfectly reasonable to me and I find something in
<br>
> Python quite counter-intuitive although I understand the rationale.</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> For the non-Perl people here, let me defend Perl
by saying it is <br>
> VERY good at what it was built for and not so good (but passable)
at<br>
> what it was not built for.</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> What it is good at:</tt></font>
<br><font size=2><tt>> Very rapid development of small
scripts</tt></font>
<br><font size=2><tt>> Replacing sed/awk/ksh/etc for scripting</tt></font>
<br><font size=2><tt>> Manipulating strings</tt></font>
<br><font size=2><tt>> System administration tasks</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> What it is only passable at</tt></font>
<br><font size=2><tt>> Large scale team development</tt></font>
<br><font size=2><tt>> OOP</tt></font>
<br>
<br><font size=2><tt>I'll second your thoughts on Perl's shortcomings.
What brought me to Python was the shortcomings in Perl that you've
mentioned, along with Python's better numerical computation and GUI creation
capabilities. If people on the list are to criticize Perl, I wish
they would stick to the things that are Perl shortcomings for people who
understand Perl. I'm OK with that, but I can't stand by and let people
criticize something just because they don't understand it.</tt></font>
<br>
<br><font size=2><tt>I don't know anything about Python, so I'll reserve
judgement until I do. I am confident that I will learn to like Python as
much (or maybe even more :-) ) than I like Perl, and then I'll be able
to choose the best tool for the task at hand.</tt></font>
<br><font size=2><tt> </tt></font>
<br><font size=2><tt>> Most of what Python developmers complain about
in Perl are aimed at <br>
> the rapid development thing. Perl is very terse which allows
you do<br>
> quickly script up small filters and data miners. I still use
Perl <br>
> for this and don't think that will ever change. </tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> Someone also complained about the "many
way to exit" issue. <br>
> Personally, I love that and use it to clarify my code. On a
normal <br>
> if statement I will put the test first:</tt></font>
<br>
<br><font size=2><tt>I like the "there's more than one way to do it"
thing as well. Your example below is very illustrative of that concept.</tt></font>
<br><font size=2><tt> </tt></font>
<br><font size=2><tt>> (test) && (stuff-to-do);</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> whereas if the test will affect code flow in
a more major way I use <br>
> the inversion, as with:</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> return if (test);</tt></font>
<br><font size=2><tt>> </tt></font>
<br><font size=2><tt>> It allows me to quickly re-read my older scripts
and understand the <br>
> code flow faster.</tt></font>
<br>
<br><font size=2><tt>One thing I really like about Python is the community:
you folks are very friendly and helpful. I look forward to
learning as much as I can about Python from this list!</tt></font>
<br>
<br><font size=2><tt>Thanks,</tt></font>
<br><font size=2><tt>-Nick</tt></font>