Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
JavaWorld affiliate Techworld Australia recently caught up with Martin Odersky to talk about the creation of Scala; the programming language created for a Web 1.0 world that ended up the backbone of Twitter.
What led you to develop Scala?
I was in programming languages almost all of my professional life. Since I was always fond of writing compilers, I did my PhD in Zurich with Niklaus Wirth, the designer of Pascal and Modula-2, in the 80s. I then got very interested in functional programming and thought it was the way forward.
When Java came out in 1995, it looked very promising to me and some of my colleagues because of its portable runtime and its garbage collector, which are key elements for supporting functional programming.
We decided to add some functional elements in a language extension of Java, which was called Pizza. This was a name we thought would appeal to hackers. We thought if Java is a hackers drink, then we want to have a name like hackers' food — and that was Pizza.
That way, I got involved a lot in Java, having co-designed the first version of generics and written the "javac" compiler. Then about 10 years ago I felt we’ve pushed it as far as we could, and it was very difficult to push it anywhere further because of the many constraints imposed on us by backwards compatibility and legacy code.
I thought maybe we could take a clean sheet approach and do the same thing once over and incorporate functional programming, but without being held back by the constraints of Java. This led us to develop Scala.
At first, this was an experiment, to answer the question whether we could achieve a tight integration between functional and object-oriented programming and whether this would lead to a useful programming model and language.
When we realised that we could achieve this integration and that it was useful, we continued working on it. Scala developed more and more into an open source environment and then a commercial language where we could have commercial support.
Why did you call the language Scala and did you consider any other names?
It stands for scalable language. Before that, we considered a couple of other names. There was a previous language called Funnel but that was never intended to be practical and for an end user. At some point we considered to name it Clay. In fact I have now found out that name has been taken. The idea behind that was that things were supposed to be easily modelled in the language.
When did you start working on Scala and how long did it take?
I started in 1999 when I joined EPFL (École polytechnique fédérale de Lausanne) after moving back to Europe from Adelaide, Australia. I then had the environment and the elbow room to do something a bit more long term.
The initial Scala design was done in 2001 and the language came out in 2003 — the first iteration of the language. At this stage the language was only being used by my students and a couple of external users.
I committed to teach a course in functional programming and I wanted to use the language from day one in that course. The first class I had were pretty much our "lab rats", where we tried out a couple of language variants and observed how the class worked with them.