Skip to content
Pere Villega
Go back

Scala: Move Forward

Soon Java 7 will be released. A bit delayed, yes, but it’s here. Even so the question lingers: is it enough? I believe the answer nowadays is NO, but of course this is an open discussion in which each developer will have a different (and valid) opinion as per each one’s background. Let’s give some arguments for the no, then. Let’s talk about Scala.

Why Scala?

You may be wondering why should you learn a new language. If you want to be the average run-of-the-mill developer, no need to. But by learning new languages you improve your skills due to the exposure to new methodologies and idioms. If you’ve read The Pragmatic Programmer you know what I mean.

So, why Scala? Because:

With great web frameworks like Play using Scala for web development, good IDE support (like Eclipse or IntelliJ) and knowing you won’t leave the JVM, there are no real excuses to not start learning Scala. Besides laziness, that is.

But that’s for geeks, no one uses it

Not quite true. Yes, early adopters of Scala were geeks, as any early adopter usually is. But nowadays Scala is widely used, and its adoption is growing. You may not see it in “traditional” companies like Accenture. But you know Twitter? They use Scala. The Guardian? Scala. LinkedIn? Scala. FourSquare. Nature. Well, check by yourself.

Ok, but how to start?

First, get your hands on a copy of Programming in Scala. Read it. And then start coding using Scala as if you coded in Java, don’t worry about the new stuff. Just code. Check Stack Overflow when in doubt. Read other people’s code. As time goes you will find better ways to use the new constructs the language provides, and after a few weeks you will fall into “Scala mode”.

Recently I was in a Scala talk organised by TypeSafe, the company behind Scala. They mentioned that (in their experience) people starts getting as productive in Scala as in Java after using the language for 4-6 weeks.

The official Scala site can help you a bit more.

What does Scala give me?

I won’t list all of Scala capabilities, there is a book you should have bought already for that ;) But if you are curious, some of the features that make Scala great:

And some more.

With Scala you can do everything you can do in Java. With less code, less effort, less bugs. And you can do some things Java won’t be able to do in the near future.

To sum it up

I believe Java 7 is not enough. A good step, but not enough. And the reason is that you can use Scala. Java needs to change too much to catch up, even more with the bureaucracy associated to Java processes, and in the meantime Scala will keep evolving.

The Java king is dead, long live the Scala king!


Share this post on:

Previous Post
It's Back
Next Post
Java 7: What's New