Is this a good time to start learning python?

Reedick, Andrew jr9445 at ATT.COM
Mon Mar 31 14:06:29 EDT 2008


> -----Original Message-----
> From: python-list-bounces+jr9445=att.com at python.org [mailto:python-
> list-bounces+jr9445=att.com at python.org] On Behalf Of Rui Maciel
> Sent: Monday, March 31, 2008 12:41 PM
> To: python-list at python.org
> Subject: Is this a good time to start learning python?
> 
> Recently I woke up inclined to take up the task of learning another
> programming language. I've already dipped my toes in Perl (I've read
> online
> tutorials and wrote a couple of irrelevant pet projects) but, as the
> computers at my workplace only sport the python interpreter, it
> probably
> means that learning python will end up serving me better, at least in
> the
> short run. Plus, you know how Perl goes.
> 
> So far the decision seems to be a no brainer. Yet, Python 3000 will
> arrive
> in a few months. As it isn't backwards compatible with today's Python,
> there is the risk that no matter what I learn until then, I will end
up
> having to re-learn at least a considerable part of the language. To
put
> it
> in other words, I fear that I will be wasting my time.
> 
> At least that is what a clueless newbie believes. As this group is
> frequented by people who have more insight into all things
pythonesque,
> what are your thoughts on this?
> 

Meh.  That's like asking if you should learn to use a fork or a spoon.

If you're learning how to program, go with Python.  (Learning as in
algorithms and data structures.)
If you need to use OO, go with Python.  Perl's OO syntax is just
horrific. 
If you're using a lot of regexes, need a bit of speed, or need something
a bit more robust than dynamically typed objects randomly breaking your
code, then go with Perl.  ;-)
Libraries can also affect your choice.  (I had to switch to Perl when
Python's win32com failed.) 

Perl's learning curve is "unreadable" syntax, whereas Python's curve
requires knowing about side effects and dealing with strong, dynamic
typing.

Overall, Python is more high level and cleaner looking/readable.
However, Python's dynamically typed objects require additional
effort/expense to debug, and it's regex module is pretty quirky/painful
to use.  Perl has a very large library, is fast, is mostly statically
compiled, and doesn't get in the way (automatic type conversions,
several ways to do something, etc..)

Python is probably faster to learn (clearer syntax and OO,) but slower
to master (side effects, strongly but dynamically typed.)  With Perl,
once you get the core syntax down, you don't need to master Perl.
Instead you just look up the module/feature you want to use and just use
it.  Finally, I find that Perl's documentation is much better than
Python's.


All IMO, IME.


*****

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers. GA623





More information about the Python-list mailing list