12 comments

[ 45.0 ms ] story [ 238 ms ] thread
It's great to see so much activity on the Scala front, although it sounds to me like an already big & complex language is only getting bigger. Macros in particular could easily decrease the readability of an already often dense and cryptic syntax.
(comment deleted)
Actually, I think Scala compares favorably to Java in complexity. Scala seems complex, but it also provides a lot of power. Take any moderately complex Scala program and try to implement it, in full generality, using Java generics. Or, if you're really brave, try to write it in C++.

Scala is more complex than "baby Java", but not as bad (while providing a lot more) as full-featured Java in real-world use.

I think this depends on how you define complexity. It's true that the Scala spec is shorter than the Java spec, but Scala has a number of very powerful features that can interact with each other in very intricate ways. I can pretty comfortably fit the handful of core ideas in Java in my head but I don't feel this way about Scala.

I have enjoyed writing Scala code, but I'm pessimistic enough about its longevity that I haven't been doing any side projects in it for a while.

I have enjoyed writing Scala code, but I'm pessimistic enough about its longevity that I haven't been doing any side projects in it for a while.

What do you think will replace it? I don't see any real candidates.

Java would be dead (in the sense of Cobol being "dead") by 2014 if not for Scala and Clojure. And what holds back contenders like Ocaml and Haskell (which are great languages, but I don't see growth in them in the next 10 years, although I wish I did) is the lack of libraries. Even though the average Java developer shouldn't be allowed anywhere near a computer, there are still thousands of well-above-average Java developers (now moving to Scala) who are writing great libraries.

In 2020, we might see something related to Go replacing Java as the mid-level/VM language of choice, and that might produce a "GoScala" or a "GoCaml" with access to Go libraries, but we're a long way away from that.

If I had to guess I'd say something like Kotlin is a better bet. Java needs to evolve but Scala is a step too far.
I don't see any candidate either, and it will not be Scala, for sure. I think Scala will continue to be a pretty interesting language, used in pretty cool places, for a smart and enthusiastic community, as Haskell or Clojure, but it will not replace Java as the major JVM language not even in a million years. Smart engineers will develop in Scala, Assembly, Lisp, whatever, but it's the average developer who accounts for the use of a language worldwide. And Scala will loose those developers from the start.

I also agree that Java will be dead by 2014, but not as COBOL. It will be dead as C language is dead. Java is the C of the XXI century.

Range sum is now O(1). While I accept this is an improvement, isn't it a little... pointless?
Attention to detail :-)
Please, Scala maintainers, stop adding features. You'll not please every developer in the world and it's not cool to be a kitchen sink. Again, just stop!