Complementary language?

Donn Cave donn at
Mon Dec 27 19:25:11 CET 2004

In article <1gpei4b.j7g6hnyome7zN%aleaxit at>,
 aleaxit at (Alex Martelli) wrote:
> Robin Becker <robin at> wrote:
> > Alex Martelli wrote:
> > .....
> > > 
> > > If you're looking for SERIOUS multiparadigmaticity, I think Oz may be
> > > best -- <> (the book's
> > > authors critique the vagueness of the "paradigm" concept, and prefer
> > > "model", but that's much the same thing).
> > 
> > according to the language shootout at
> > 
> >
> > 
> > Mozart/Oz comes last in cpu score. I suspect that may be due to 
> > unfamilarity or poor implementation of the test codes. Everybody 'knows'
> > that benchamrks are always wrong, but which score moves this language to
> > the top in your opinion?
> Hmmm, I'm not sure how to parse this question.  Robert Kern claimed:
> "You could very easily learn more approaches to programming through
> Common Lisp than three other languages", and I'm pointing out that, if
> what you're after is to "learn more approaches to programming" via the
> built-in features of a single language, Oz (with the CTMCP book) may
> well be numero uno.  Judging from the blurb on the book's back, as I
> also mentioned, Norvig, hardly a slouch when it comes to Lisp, appears
> to share this assessment.
> What the "language shootout" can possibly have to do with this issue
> entirely escapes me.  Quite apart from "benchmarks are always wrong", I
> don't think they're even _remotely_ trying to benchmark "how much does
> learning this language teach you about different approaches to
> programming" -- it would seem to be a mighty tall order to even set up a
> controlled experiment to measure _that_ quantitatively!

I can't disagree very much with that, but in the vein of
answering the original question I think it's fair to
assign some weight to a language's practical utility.
For me, anyway, a language will be more instructive if
it really is a practical alternative, because then I will
obviously be much more motivated to use it.

Accordingly I should put in a vote here for Objective CAML.
Cf. .  (Note the separate documentation
for Camlp4, specifically the "revised syntax".  Objective CAML's
original syntax has some bad warts, but it's optional.)  It's
a modern functional programming language, so it's good for
knowing what you're missing when people talk about using Python
for FP.  There's also a rigorously typed OOP layer, which
introduces a few issue that Python sort of "ducks".  (I haven't
spent a lot of time in the OOP layer, but I believe in a way
it formalizes "duck typing", rather than the inheritance based
type system that some languages are saddled with.)  So for a
Python programmer it's all about learning different approaches
to programming, but this one is also a really competitive
language for software development.  Not a gem, but not a toy.

Someone who already has Objective CAML and Python on hand
might be interested in Felix,
I haven't actually used it, and for all I know it fails my
utility test since it is not a very mature language, but
I mention in in case anyone is interested in what the author
of the "vyper" Python implementation is up to these days.

   Donn Cave, donn at

More information about the Python-list mailing list