Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Scala: combining the best of Ruby and Java?

Scala: combining the best of Ruby and Java?

While the Ruby vs. Java / dynamic vs. static debate continues, a small community has been forming around the Scala programming language, which has has some of the best features of both languages but is also a functional programming language and runs on the JVM.  Like Ruby, Scala has a very terse syntax and its extensibility makes it suitable for writing DSLs, like Java, Scala is statically typed and can call Java code seamlessly without any declarations or glue code.  An older version of Scala also compiles to .NET.   Scala founder Martin Odersky (who co-designed Java Generics and implemented javac) has started blog on Artima today with his first entry on the history which led up to Scala:
Scala was designed to be both object-oriented and functional. It is a pure object-oriented language in the sense that every value is an object. Objects are defined by classes, which can be composed using mixin composition. Scala is also a functional language in the sense that every function is a value. Functions can be nested, and they can operate on data using pattern matching.
Earlier this year, Ted Neward also picked up on the "Ruby-esque" features of Scala and made three detailed blog entries introducing Scala, demonstrating it's brevity, and explaining it's object oriented design.

Key features, from the Scala homepage:
According to Martin, Scala has a small but growing community. "We currently see about 1000 downloads per month of the Scala distribution on our website."  Scala 2.1.2 was released this past April.

Rate this Article