
What's new in Scala 2.10 - LiveTheDream
http://ochsenreither.posterous.com/whats-new-in-210
======
thebluesky
Relevant video by Martin Odersky covering Scala 2.10:
<http://www.youtube.com/watch?v=qqQNqIy5LdM> Slides:
[http://mrkn.co/s/video_martin_odersky_what_s_next_for_scala,...](http://mrkn.co/s/video_martin_odersky_what_s_next_for_scala,575/index.html)

~~~
orp
I just watched the entire video, and it's really interesting.

I especially recommend the part about how reflection is implemented in Scala
2.10. It explains the Cake pattern and how Scala self types enable dependency
injection.

Good stuff

------
cageface
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.

~~~
michaelochurch
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.

~~~
cageface
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.

~~~
michaelochurch
_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.

~~~
jdefarge
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.

------
jdefarge
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!

------
moomin
Range sum is now O(1). While I accept this is an improvement, isn't it a
little... pointless?

~~~
soc88
Attention to detail :-)

