tags:

views:

1156

answers:

3

http://www.mozart-oz.org/

Yes I realize that Oz is a fairly obscure language. I first heard about it in the Programming Language Shootout. Then I found this Wikipedia article which states Mozart/Oz to support eight different paradigms.

So I gave it a try. There were plenty of documentation, except that I found it very confusing and lacking. I couldn't find any books or other documentation, and few examples. Also, it seemed to be tightly integrated with Emacs, which I'm not very used to.

What are your opinions of this programming language: Is it a complete waste of time? Or can someone point me towards some good resources, etc?

Also I don't want to use Emacs; Do I have any other options like an interactive interpreter or a normal compile-run cycle?

+5  A: 

This is the book on Oz: Concepts, Techniques, and Models of Computer Programming

However, this book goes well beyond teaching a language. Some people consider in "the next bible" on languages, after the SICP.

Igor Krivokon
+1  A: 
  • Mozart/Oz to support eight different paradigms

Here's a short overview paper which should give you some context for that - Programming Paradigms for Dummies: What Every Programmer Should Know (pdf)

  • What are your opinions of this programming language

Mozart/Oz gives you the opportunity to explore and learn and play with a very wide range of programming language techniques.

  • Also I don't want to use Emacs; Do I have any other options like an interactive interpreter or a normal compile-run cycle?

They use Emacs like an interactive interpreter.

Yes you can write code in a text editor and compile & run from the command line.

igouy
+1  A: 

Learning Mozart/Oz was probably the most valued programming experiences I got out university. But at the same time it was also the crappiest since you can't really use it in real world. (I even think they removed Oz from the courses because of this and replaced it with a mix of C++, Java and Erlang.)

So for academic purposes it is a great language to experiment with in order to learn new techniques and become a "better" developer.

But since the nice thing with development is that even though you won't run your production code on a Mozart system you could still steal a lot of good ideas from it and implement in your favorite language of choice. Just have a look at Jonas Bonér work on implementing dataflow variables in scala.

As for additional resources, do a google search on 2G1512 and look for tutorial, laborations and lectures in pdf format.

Ola Herrdahl