What is Python good for?

Ken Seehof kseehof at neuralintegrator.com
Wed Sep 12 19:06:39 EDT 2001


> I heard about Python briefly a few years ago when I just got out of
> school and started programming professionally.
> 
> Now that I have a good command of some other languages and I see that
> there is a windows port of Python I am thinking about learning it.
> 
> Why should I?
> 
> By that, I mean most languages try to do it all, but they usually end
> up having unique strengths in some areas that draw users to it.
> 
> Java is great for server side programming.  Perl is easy, and has a
> lot of built in features for text processing.  Visual Basic makes
> generating windows client app interfaces very fast.

Some languages are exceptional at one thing and weak in others.
Other languages are more general purpose.  Python is a general
purpose language.  In fact, there really isn't any fancy trademark
ooh-aah feature to set python apart.  It's just a general purpose
language done particularly well.

Sometimes languages occupy a nitch due to random market
forces, biased committee members, and timing rather than design
virtues.  Such languages then acquire specialization over time by
accumulating features that the market demands.  For example,
Java was originally designed to be an embedded language for
home appliances (coffee machines?), not at all for the internet.

I like python better than Java for server side programming because
I have switched to Zope.  Really I fail to see any advantage for Java
in this area, other than the fact that it somehow became the standard.

Python is easier to learn than Perl.

Text processing code written in Perl is more terse than equivalent
code written in Python, so Perl wins here assuming that the code
doesn't ever have to be read or modified.  :-)

I have used VB for windows apps in the past (though I've written
much more C++ gui code).  Now I use wxPython and wxDesigner to
get faster results that are multi-platform.  VB fails to be a good GUI
development environment pecisely -because- it is specialized.  VB
is not likely to be the optimal language for the non-gui part of the
application, so you tend to need a mixed-language environment,
which means you end up spending most of your time writing COM
interfaces (ugh).

> What is Python's major strength?  What benefit will someone have by
> taking the time to learn it?

Python really is a general purpose language.  I'm not saying that
Python is the best language for everything, just that it stands out as
an ideal choice for a primary programming language to replace
the current market share of C++.

In the real world python seems to be taking bites out of Javas web
server nitch and Fortrans science nitch.

> Where does Python fall short?

Speed, when compared to C/C++ and other low-level compiled
languages.  This deficit rarely matters in the real world since most
CPU cycles are usually spent inside standard libraries written in C
or C++.  When it does matter, you can easily write an extension
module to do the high speed work.  Python is as fast or faster than
most similar high-level languages

Popularity.  This is changing rapidly though.  The number of
books, newsgroup messages, and jobs are on an exponential
increase.

> Thank in advance.
> -- 
> http://mail.python.org/mailman/listinfo/python-list





More information about the Python-list mailing list