Learning multiple languages (question for general discussion)

Alex Martelli aleax at mail.comcast.net
Fri Nov 4 06:28:50 CET 2005

Magnus Lycka <lycka at carmen.se> wrote:

> John Salerno wrote:
> > LOL. As weird as it sounds, that's what I *don't* want to happen with
> > C#! I've spent a lot of time with it, and I love it, but I don't want
> > Python to take over!  :)
> Then it might be better to keep away from Python. It *will* spoil
> you. Python is a good team player. It's excellent to use in large
> projects where different languages fit better for different parts
> of the final system,and it's excellent as a programmers tool even
> if all production code is written in C# or whatever. Given a free
> choice, you'll probably shift more and more of the code to Python
> though,since it's faster to write and easier to maintain that way.

Yes, but I haven't found knowing (and using) Python dampens my
enthusiasms for learning new languages.  Using a language for real life
programming isn't the only reason to learn it, after all.  Mozart (==Oz)
is a great way to reflect on programming paradigms (and Van Roy's and
Hariri's book is the 21st century equivalent of SICP!!!); Ruby offers an
interesting perspective of a slightly different ways to do the same
things Python is good at; O'Caml is an object (;-) lesson in how not all
functional languages are elegant rather than practical; Boo shows how
Pythonic syntax might go with static typing and inference; pyrex shows
how Pythonic syntax might go with optional static typing to generate
quite decent C code; sawzall
(http://labs.google.com/papers/sawzall.html) is a great example of a
very specialized language; Limbo
(http://www.vitanuova.com/inferno/papers/limbo.html) has its good
moments, and any language designed by Ritchie must be worth looking at
for that sole reason; Erlang shows a very different FP language...

These are all languages I studied after falling in love with Python --
i.e., in the last 6 years.  At 8 languages in 6 years, I meet or exceed
the "one new language a year" recommendation of the Pragmatic
Programmers, on average -- admittedly, out of these, only sawzall and
pyrex are ones I've used "for real", the other ones I've studied but
never found real-life occasions to use, but that, too (using IRL about
25% of the languages one learns), is roughly par for the course (I would
guess that over my lifetime I've learned about 50 languages and
seriously used maybe a dozen of them...).


More information about the Python-list mailing list