Wednesday, March 31, 2010

Learn You Some Erlang renamed Learn You Some Scala

I'm excited to announce that Frederic Trottier-Hebert has decided to change the name of Learn You Some Erlang to Learn You Some Scala! This should come as no surprise to most of us. As I demonstrated here Scala and Erlang are really the same language. With the growing popularity of Scala it only makes sense to target the Scala audience (whom we can thank for Erlang's actors). I got the chance to talk to Frederic about the change. When asked what finally prompted the change he said:

<MononcQc> Well yeah, I mean I was there when you first were talking with Virding about the migration of Erlang to the JVM. I'm quoted in that blog post

<MononcQc> that discovery was pretty much a shock to me too, and so it's why I've pondered this and discussed the whole issue over #erlang on the course of the last few weeks

<MononcQc> I picked up one of the many great books about Scala and realized that 'damn, they're the same stuff!'

<MononcQc> Scala being bigger with the JVM being stress tested in production environment (sometimes claiming 9 nines of uptime)

<MononcQc> I decided to do the switch.

<MononcQc> So LYSE becomes LYSS

<MononcQc> It's much more marketable anyway

Some of the changes he has told me are upcoming:

  • OTP In Scala - How to work with some of the Scala specific OTP libraries to get better soft real time guarantees and performance

  • Mnesia and Scala - Mnesia is written in Erlang/Scala so moving your databases should Just Work. There should be a pretty big performance increase due to the JIT too (performance improvements have been shown to be about 20%-25.4%) I'm pretty excited about this one.

  • JVM Performance tuning - When to use -client and when to use -server will play a big part in this chapter. Frederic plans on really covering the nitty details of JVM tuning. Frederic admits that he hasn't done much work with the JVM but given the similarity to beam doesn't forsee that being a problem

  • Java interop - No more need to use jinterface, Java interop is much easier when running on the JVM!

What does Frederic have to say about possible backlash from the Erlang community about the name change? "I see none. I'm moving for the best". There you have it folks. Frederic said the rebranding is still a work in progress but he hopes to have the entire book moved over to Scala terminology in a few weeks.


  1. Great, unfortunately I didn't read it yesterday. I would try spread it as much as possible.

  2. Nope, it's still "Learn you some Erlang". That's too bad - as I would really be happy with a guide like that for Scala.

  3. Erlang on the JVM? Really, I'm studying Erlang since... not even a week! But for what I know, JVM for functional languages has "some" drawbacks:
    - No TCO: really, it's like saying to a looping server: die!!!
    - No OTP: programming from zero without a swiss knife: bad idea in business environments
    - It's a Java Virtual Machine, made to run Java code! (ok, this is a personal bias, you could still go with old plain jvm bytecode!)
    Aside from that, I simply find Java libraries to be user friendly like c++ ones: nothing at all!