Is Python for me?

Alex Martelli aleaxit at
Sun Feb 11 02:37:56 EST 2001

"DvdAvins" <dvdavins at> wrote in message
news:20010210175216.26827.00000474 at
> I'm planning to write a program for myself which, if I'm happy with the
way it
> turns out, I will likely distribute as shareware. I'm looking for as many
> the following traits as possible:
> 1:a functional language. I've been intrigued by functional languages for a
> while, but have had no occasion to use them at work.
> 2: automatic garbage collection and other programmers' convenience
features (I
> still have to take care of my day job)
> 3: support for objects (not necessary, just a convenience)
> 4: it MUST be distributable as a stand-alone program for Windows. I'd like
> be able to distribute to Mac and Linux as well.
> 5. there has to a good book on the language available in English or at
least an
> IDE with and excdellent help environment.
> I'm investigating at M, Python, BETA, Scheme, Haskell, Icon, and Common
> Which would you use? Why?

I see you got several replies, but I don't think anybody mentioned that
none of the languages you list [save possibly M -- I never heard of it]
really meets your constraints [1] and [3] at once.  In Scheme, Lisp,
Python, you can do some functional programming, but they aren't
functional languages -- one normally does use assignment in each
of them.  And similarly, Haskell, the only real functional language out
of the ones you list, does not really support objects.

If I wanted to meet your constraints 1-5, I'd be torn between Haskell
(no objects, but...) and ML variants -- OCaml has objects, other ML
versions may have better books in English (but the O'Reilly OCaml
book should get translated by a volunteer project any time soon, and
the docs that come with OCaml as well as Cousineau's earlier book
"Functional Approach to Programming" do a pretty good job in the
meantime).  Haskell might be considered 'more' functional in some
respects (lazy by default, no 'ref' for assignment but rather the
elegant encapsulation of monads) and the English books about it
are nothing short of superb.

Mostly, given constraint number 1, I'd be asking on comp.lang.functional --
people who hang out there are likeliest to know what books are out, or
brewing, about various languages, as well as implementation details
such as whether a DLL needs to accompany a distributed program for
a certain compiler or a really standalone EXE may be built, etc.


More information about the Python-list mailing list