Scala founder: Language due for 'fundamental rethink'

The Scala road map has three upgrades planned, with a simpler, more modular language set as the end goal

1 2 Page 2
Page 2 of 2

InfoWorld: What about the Don Giovanni release?

Odersky: That's going to be a more fundamental rethink of what Scala is. The main goal is to make it simpler, to review it or work out what its core is, and have a very simple core on which essentially the other features of Scala can all be based. Essentially, it's a way to modularize the language better, to base the features that we know from Scala on a very, very simple core that we can compile efficiently and reason precisely about. That's the main goals for Don Giovanni.

[Also], we want to eliminate some traps that people have found hard in Scala -- so-called puzzlers. We want to improve the tools. We want to have a super type system. We want to have a cleaned-up syntax, and we want to have some things more powerful [and] make things more regular and neater. [It is not so much about] adding new functionality to the language. I think Scala has enough functionality. That's not the problem. What we want to do is make it really into a very, very clean package for the programmer.

InfoWorld: So you think Scala needs this kind of fundamental rethinking?

Odersky: It could profit from that. Scala is a bit of a one-of-a-kind language in that it is really the language that goes furthest in providing this fusion between object-oriented and functional programming. I think that's, in the end, where the industry is moving. If you look at recent languages like Swift from Apple or the next iterations of C# from Microsoft, they all go in this direction. Essentially, the fusion of [functional and object-oriented programming] can have a power that neither of the two paradigms individually can have.

InfoWorld: In 2011, Yammer moved away from Scala and over to Java. The company cited the complexity of Scala. Has that problem been addressed since then or are you looking to address that problem with the upcoming upgrades?

Odersky: Actually, I think Yammer mostly cited unpredictability of runtime performance, but they said they were writing very, very low-level code, so essentially very down-to-the-metal code. The performance bottlenecks they cited have been been addressed in the meantime -- the collections shortcomings. In terms of complexity, I don't know whether Yammer featured that, but you definitely do hear that a lot [from] many people. Yes, absolutely -- that's precisely what we want to address in the future versions.

InfoWorld: You mentioned Swift. What's your take or perspective on Swift, which Apple just introduced, and on another language that's becoming popular, Node.js?

Odersky: You could say that Swift related to Objective-C is a little bit like Scala related to Java. It runs on the Apple platform, but it's a higher level, a more functionally inspired language than the standard language. In fact, if you look at it, it borrows a lot of features from Scala. In a sense, it's a validation of what Scala does. To see that reflected in Swift shows that we must have done something right here.

Node.js is an interesting platform because it leverages JavaScript on the server, and it has essentially the reactive programming model, the event-based reactive programming model. What we do with Scala and the Typesafe platform -- that would be Akka and Play -- is very similar, so we also leveraged the reactive programming model, very much so, just like Node does it, but we do that in a setting that is strongly typed.

InfoWorld: You said a couple years ago that there were a lack of tools for use with Scala. Has this been remedied?

Odersky: Yes. Both the Eclipse Scala IDE and the IntelliJ Scala plug-in work are now mature and work generally very well. There is now also a very good Scala-specific debugger. Also, lots of third-party tools for code coverage, style-checking, bug-finding exist. Some of them commercial, (for example), the one by Semmle.

InfoWorld: Is there anything else you want to mention about Scala?

Odersky: We are in the middle of a paradigm shift [in] the industry, and there will be a new equilibrium between functional and object-driven programming, and Scala is leading that.

This story, "Scala founder: Language due for 'fundamental rethink'," was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.

1 2 Page 2
Page 2 of 2