back

by wiradikusuma·12y ago·view on hn ↗
Hi jacquesm, if you're reading this..

I recommend that you take a second look at Scala. Considering that you "have a working knowledge of Java (but really don’t like it)", I think Scala is a good choice.

The usual cliche-but-true reasons:

A. It runs on the JVM, arguably the most performant VM.

B. It has mature, huge (Java) ecosystems. High quality IDEs, rich (3rd party) libraries, a plethora of build tools (for better or worse) and profilers.

But for me personally, the things I like about it:

1. I can use different languages (as long as it runs on the JVM, obviously) for different needs. Probably not wise to mix a dozen languages (http://en.wikipedia.org/wiki/List_of_JVM_languages) in a project, but at least I have a choice.

2. Since I'm a Java developer during the day, I can reuse my skills (can use same framework, same debugging approach, same build system).

3. I can start coding with Java/imperative style. When I started learning Scala, I literally coded like in Java, minus the semi-colons. Over the time, I enhance my coding style because I keep thinking, "There's gotta be a better way of doing this." At least this lowers my barrier to learn Scala.

EDIT: IntelliJ allows you to copy Java code and paste it as Scala.

Obviously you can replace "Scala" with "any JVM language other than Java", but I have my specific reasons in choosing Scala (over, say, Clojure).