A good friend of mine, upon reading "
Concurrency in Lua" (Tuesday, October 27, 2009), advised me that I check out
Scala. Scala runs on JVM and seamlessly integrates with Java (a huge plus for Java programmers). Yet, it is not Java; it was designed with the objective to incorporate recent advances in programming languages since the inception of Java. Some might called it modernized Java.
It seems to have caught attention when Twitter developers switched to Scala when they realized their Ruby code did not scale well.
My first question was, How can it scale just because it runs on JVM? I am not entirely sure, but it seems to me that it is because
someone made it work with Terracotta. If my understanding is correct, Terracota achieves
JVM clustering. If that is true, does that mean anything that runs on JVM can potentially be used for scaling?
I read up a little about Scala, but man, it's hard for me to understand. There seems to be strong influence from such languages as Haskel and Erlang, but I know nothing about them. Oh, come to think of it, I hardly ever know Java either. So just understanding Scala will be a major project for me. I can understand why Scala is gaining popularity among programming language researchers. It could also be used for intermediate-level college courses for programming languages. (Of course, I will have to take such a course!)
By the way,
someone writes why he thinks Twitter developers did not need to switch to Scala.