Python vs Ruby

Mike Meyer mwm at
Fri Oct 21 04:12:50 CEST 2005

"bonono at" <bonono at> writes:
> I am not sure your intention but I think there isn't a one language
> fits all situation here.

Very true.

> C/C++ - for linux kernel hacking etc., many library out there still use
> it
> python - generic stuff
> SQL - nothing beats it for many business apps
> haskell - a language to train my brain
> javascript - Web front end
> other than haskell and SQL, the others are more or less the same to me
> so getting familiar with them is not too difficult.

There are actually lots of good "train your brain" type
languages. Members of the LISP family, for instance, to learn what you
can do with lists, and also for how cool a real macro facility can
be. I happen to like Scheme, but that's just me. APL, for learning you
can do with arrays. SNOBOL for old-school string processing and
pattern matching. Icon for what you can do with failure. Eiffel for
what you can do with objects and DbC. CLU for duck typing with
declerations. Prolog for what you can do without writing commands. Oz
includes a nice combination of a lot of these things.

The best ones have a book associated with them that teaches general
programming practices using said language as an example - and
hopefully does a good job of it. I've only got four of those:

Scheme: Structure and Interpretation of Computer Programs, by Abelson,
Sussman and Sussman. Commonly called SICP. Available online at <URL: >.

Oz: Concepts, Techniques and Models of Computer Programming, by Van
Roy and Haridi. Sometimes shortened to "The Oz book." Read more about
it at <URL: >.

Eiffel: Object Oriented Software Construction, by Bertrand
Meyer. Referred to as OOSC. Read more about it at <URL: >.

LISP: On LISP, by Paul Graham. Download it at <URL: >.

The first three are books about programming that happen to use a
specific language that supports the techniques the authors want to
discuss. On LISP on the other hand is more about what's unique about
LISP programming, at least when compared to more conventional
languages. A lot of what's good about LISP is also good about Python,
so a lot of what he has to say carries over into Python. It's also the
only place to get a thorough look at LISP macro programming, which
knowledge does *not* carry over into Python - but you'll understand
why people ask for macros in Python :-).

If you know of some book/language pair that you think everyone would
benefit from reading, I'd be interested in hearing about them.

Mike Meyer <mwm at>
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

More information about the Python-list mailing list