On Thu, 20 Apr 2006, Alex Martelli wrote: > Edward Elliott <[EMAIL PROTECTED]> wrote: > ... >> course in C++ doesn't cut it, the curriculum should either use different >> languages fitted to each task or emphasize a single language with broad >> abilities (picking the best programming model for each task). Java is > > The only "single language" I could see fitting that role is Mozart, > deliberately designed to be SUPER-multi-paradigm -- not even Lisp and > Scheme (the only real competition) can compare.
I agree that Mozart/Oz is probably the most ambitiously multi-paradigm language out there, and anyone interested in some real mind expansion should really check out the excellent book, "Concepts, Techniques, and Models of Computer Programming" by Peter Van Roy and Seif Haridi. However, my impression of Mozart/Oz so far can be summed up like this: "You can have any paradigm you want, as long as it's concurrent". The degree to which out-parameters are used (in the form of "dataflow variables") is very unusual for OO or FP, and this is a source of both amazement and confusion for me. It's clearly possible to program in many styles, but you still need to adapt your thinking to the Mozart way. Also worth a mention is Alice ML, which runs on the Mozart system but is statically typed, type-inferred, very similar to SML but with concurrency support (lazies and futures), typesafe marshalling, and "packages", which allow for dynamically-typed interfaces between modules. -- .:[ dave benjamin -( ramen/sp00 )- http://spoomusic.com/ ]:. "one man's constant is another man's variable" - alan perlis -- http://mail.python.org/mailman/listinfo/python-list