In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] (Alex Martelli) wrote: > Robin Becker <[EMAIL PROTECTED]> wrote: > > Alex Martelli wrote: > > ..... > > > > > > If you're looking for SERIOUS multiparadigmaticity, I think Oz may be > > > best -- <http://www.info.ucl.ac.be/people/PVR/book.html> (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 > > > > http://shootout.alioth.debian.org/benchmark.php?test=all&lang=all&sort=cpu > > > > 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. http://caml.inria.fr/ . (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, http://felix.sourceforge.net. 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, [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list