Scala: Object-Oriented and Functional Programming for the JVM
Many Java teams want a more modern language that preserves their investment in Java technology. This talk looks at Scala, a new JVM language that fixes many of the limitations of Java. I’ll show why Scala is an ideal “upgrade” language for most Java teams.
Using examples, we’ll see that Scala is statically-typed, yet it has a succinct and flexible syntax. Scala traits add mixin composition to Java’s object model. Scala fully supports functional programming, which is the best approach for robust concurrent applications. All these qualities improve our agility.
- 20 mins: Description of the limitations of Java, such as verbosity, lack of functional programming support, difficult concurrency model, etc.
- 20 mins: Scala examples of its more succinct syntax and improved object model.
- 20 mins: Brief introduction to functional programming and why it is the best approach to effective and robust concurrent programming, with examples of functional code in Scala.
- 20 mins: Complete example of concurrency using Scala’s Actors library.
- 10 mins: Recap - Why Scala is the most logical general-purpose Java replacement for teams that prefer a language that is close to Java’s core principles, like static typing.
In response to a comment, let me emphasize that I’ll be picking features to discuss that have a particular, practical impact on agility, such reducing the amount of work done and better modularization facilities that make it easier for the application to grow in size and complexity, yet remain adaptive to change. I also proposed a more general talk that surveys several new JVM languages at a high level, while this talk dives more deeply into one of them, Scala.
I can give a 3 hour tutorial instead. I proposed a 90-min. talk because a short introduction, rather than a deeper overview, seems to be a better fit for an Agile conference. I have previously presented a Scala tutorial at SDWest 2009 and “The Seductions of Scala” talks to variaous user groups. I am the founder of the Chicago-Area Scala Enthusiasts (CASE) user group (http://groups.google.com/group/chicagoscala). I am also co-writing “Programming Scala” for O’Reilly, which will be published this Summer.
- Why we need new JVM languages to replace or complement Java.
- How Scala preserves our existing investment in Java.
- How Scala improves our designs with a better object model and full support for functional programming.
- How Scala improves our productivity and agility with its more succinct and flexible syntax.

Add to calendar