What I like and don’t like about Scala

Scala logoThis is a follow-up post to my last one, where I was wondering which language will be Java’s successor as mainstream language on the JVM. I also asked the same question on quora.com, where I am going to maintain my opinion on this topic and also hope to get some input from other people in the community. So, if this interests you or you have an opinion to share, you can comment and/or follow this question on quora. I already stated in my last post that my current favorite is Scala. Here’s why.

I like that

  • it compiles to byte code and runs on the JVM
  • it has the best interoperability with Java code that I know of
  • it has functional programming features including actors that give you a higher level of abstraction, which enables you to program in a more declarative way
  • its syntax is familiar (more so than Clojure’s), yet much more concise than Java
  • it feels almost like a dynamic language although it is statically typed (powered by type inference)

I don’t like that

My current favorite is Scala, because I am not looking for something entirely different to Java, but rather for a better Java with functional programming features and for that Scala seems to be the best choice to me.

Here’s some resources that I found useful when I started with Scala:

Advertisements

4 comments

  1. i like it for the same reasons.

    luckily a full-blown IDE is much less of a requirement with Scala because of several reasons: flexible package structure, one file may contain more than 1 type definition (even multiple packages), concise syntax, …

      • in Scala, there’s no need to create a deep directory hierarchy following the package hierarchy.

        Java IDE’s have optimizations for easier navigation of the source tree (e.g. flatten all packages). that’s one of the many reasons i need an IDE like Eclipse, NetBeans, … for Java projects.

        so, with Scala, you have one less reason to want/need an IDE (well, if you take advantage of these features of course).

        i know, it’s a small benefit, but it’s one of the many.

        don’t know yet if i can completely rule out Eclipse, IntelliJ and the like on big projects. but i believe a good OS, text editor, the Scala tools, SBT and some basic command line skills can get us far enough.

        as a sidenote, for several reasons, i’m a little bit fed up lately with the major Java IDE’s.

  2. Yeah sounds like scala is a good choice for you. Oh, and I’m also fed up with netbeans/eclipse…so slow…anybody want to help me build a replacement using clojure? 🙂
    -r

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s