Why is Python a good first scripting language?

dsavitsk dsavitsk at e-coli.net
Sat Oct 19 17:19:51 EDT 2002


There are *tons* of these threads, but here are my quick answers ...

"Tim Teebken" <teebken at yahoo.com> wrote in message
news:y5js9.10512$Pk1.5595 at nwrddc02.gnilink.net...
> Hello, I'm a Windows developer looking for a versatile, open source
> scripting language that runs on Windows and other platforms.  I'm not
> terribly interested in religious debates about languages, and wouldn't
mind
> learning several of the open source options eventually.  But now I need to
> choose one to start with.  Here are some things I'm looking for:
>
> (1)  Clean, terse, easy-to-read syntax.  All subjective terms, and
everyone
> will claim these apply to their favorite language, but still it's a
> distinction worth making.  A language that is easier to maintain, and in
> which one can quickly become productive, is more helpful to me right now.

This is what Python is all about.

> (2)  Not captive to one methodology.  To the man with a hammer, everything
> looks like a nail.  Though I generally practice and advocate OOP
> methodology, I don't want a language so captive to that or any other
> approach that it creates extra work in some cases, or makes it impossible
to
> tackle problems in different ways.

Python can be used more or less as pure oop, you can write functionally, or
you can write what will look like newbie written vb.  it all works.

> (3)  Now to qualify (2):  it should not be a language with so many ways of
> doing things that you can't identify a "best way," or at least a "good
way."
> Perl has been noted for having nearly infinite options for tackling
> problems, which is a strength and a weakness.

Again, see point 1.

> (4) "Fast enough" performance.  It doesn't have to be faster than
competing
> scripting languages, but  shouldn't be radically slower.

I've never had a problem.

> (5) Extended and extensible.  There should be a reasonably large set of
free
> and commercial modules and extensions available, and it should be possible
> to extend it yourself via a lower-level language.

Python can be extended easily via swig, and it supports COM on win32. Also,
everyone seems to want to post their newest code, so there are many (mostly
good) samples and examples floating around.

> (6) Large user base, active developer community, and a large set of free
and
> commerical documentation.  In other words, it has a healthy "growth index"
> and bright future relative to near competitors.

People here are nice, and there seem to be more and more names everyday.

> (7) Internal consistency and expressiveness.  As with (1), these are
> incredibly fuzzy terms, but the point is to find a language that has not
> just grown by mindless accretion, like many hospital building plans, where
> more "stuff" just gets tacked on in kneejerk reaction over the years.  I
> value languages where there is some evidence the designer(s) value things
> like clarity, consistent semantics, even aesthetic appeal.  A "beautiful"
> language should get out of your way, should allow you to think about
> problems in the world in a way that is simple and elegant, not clumsy, not
> overly complicated.

See point 1 one more time.

> Now with these criteria in mind, I'm considering Python.  Already I ruled
> out Perl as a first choice, not that it couldn't be useful or even
> preferable for certain text processing tasks, but based on some of the
> criteria above, and my own viewing of a number of Perl modules, it already
> grates on me.  Also interesting are some of the functional languages, for
> example Haskell, but I wanted something a bit more mainstream for now.  A
> colleague recommended Ruby, and it does look interesting, although
obviously
> it doesn't have the size and extend of the Python community yet.

Haskell and Ruby are nice.  So is Python.

-d





More information about the Python-list mailing list