Is Python worth learning?

Alex Martelli aleaxit at
Mon Sep 4 11:27:15 CEST 2000

"Weiqi Gao" <weiqigao at> wrote in message
news:39B3150D.A04180DE at
> C was compelling because it is used to program UNIX and Windows.  Perl
> was compelling because it is used in CGIs and shell scripts.  Java was
> compelling because it supports applets and then servlets and EJBs.
> Visual Basic was compelling because it is used to script COM components.

You can use Python to program Unix and Windows.  It's good for
CGIs and shell scripts.  It supports applets, servlets, EJBs.  It
is used to script COM components.

Just for starters...P-)

> Python will become compelling in some aspects of most corporate
> programmers everyday work one of these days.  But I can't think of
> something that can be accomplished in Python and in Python alone right
> now.  I'm sure the regulars of the list will have plenty of examples.

I don't know of any one thing that can be accomplished *in Python alone*,
i.e., in Python but in _no_ other language.  Python can offer huge
productivity gains, but so can, e.g., OCAML (see their apparent triumph
in the latest ICFP, though the jury's still out).  Python can be
learned and used productively *VERY* fast, but so can, e.g., Rexx.
Python lets you extend ZOPE, but soon so will (to some extent) Perl.

If you want ONE language that will give great productivity, while
being fast to learn, usable for ZOPE, cross-platform, good for CGI's,
scripting, administration, applets, servlets, *AND* COM, and much
more besides, well, Python is one candidate -- I know no others,
though many come close ('fast to learn' depends on where you're
coming from, of course; with very solid mathematical background, ML
or Haskell, might qualify, for example, but I suspect Python will
prove by far easier for most people... it sure did for me, yet I'm
no slouch at maths).

Is Python good for *every*thing, then?  Not necessarily: you may
likely be able to get better performance from other languages (OCAML
is quite impressive in this -- high-level, yet high-performance;
mostly, for pedal-to-the-metal performance you may need lower-level
"system-programming" languages such as C++, though).  But starting
with Python, and recoding some small parts in another language for
higher performance once the overall structure is developed, debugged,
and optimized, is a very viable and productive strategy.


More information about the Python-list mailing list