54

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 8 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?

nbro
  • 15,395
  • 32
  • 113
  • 196
Lucky
  • 4,787
  • 9
  • 40
  • 50

4 Answers4

31

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
  • 10,145
  • 1
  • 37
  • 41
25

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 (or Ozma).

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

mmdemirbas
  • 9,060
  • 5
  • 45
  • 53
Ola Herrdahl
  • 4,216
  • 3
  • 29
  • 23
  • 1
    Can you explain why "you can't really use it in real world"? Performance? Usability? Productivity? – PhiLho Mar 01 '11 at 11:53
  • 1
    Simply because it's a research project. Good luck in trying to find job opportunities for it. ;) – Ola Herrdahl Mar 13 '11 at 16:19
  • 2
    I've yet to see a role asking for it. Also, a language will become more popular if it offers something to make it worth using. Oz may do functional and declaritive programming as well as imperative, but so does F#, which offers access to the full .NET library as well. Is Oz an interesting language? Possibly. Is it ever likely to be the best solution for a GUI app, a web app, or algorithm development? Probably not. – David Burton Mar 29 '11 at 21:08
  • Ola - that's a big recommendation for studying it. For people interested in Oz based on Ola's recommendation, Edx runs a course using Oz: https://www.edx.org/course/louvainx/louvainx-louv1-01x-paradigms-computer-1203 I taking the course and I find the Oz syntax is quite different to other languages I have used and this gets in the way. By comparison, Scala supports many of the same ideas but has a much more familiar syntax. But still, the course and the ideas it presents are very interesting. – Mark Butler Mar 10 '14 at 21:40
11

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.

mmdemirbas
  • 9,060
  • 5
  • 45
  • 53
igouy
  • 2,547
  • 17
  • 16
  • 2
    The link to "compile and run from the command line" is exactly what I was looking for...but it's broken. :( Anyone know how to do this? – Wildcard Dec 05 '15 at 03:52
6

According to the thread Mozart/Oz speed - Ruby 1.9 speed, it is much faster than Ruby 1.9 which is "actively" improved.

mmdemirbas
  • 9,060
  • 5
  • 45
  • 53
Valentin
  • 61
  • 1
  • 1