Shameless plug for CPC, a compiler translating green-threads to event-driven code: http://gabriel.kerneis.info/software/cpc/
Used to compile coroutines in QEMU during the latest GSoC: http://gabriel.kerneis.info/research/files/qemu-cpc.pdf
I actually really like Erlang and would love to get more familiar with it, but there are very few small projects that are suited to Erlang's domain.
But it's quite difficult to hire.
Huh? OOP & Message Passing!
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-...
(I'm in the SF area, but a lot of the ads I see are for New York and parts of the Midwest.)
* it has to fill a need people have.
* people have to know about it.
* it has to have a mature implementation.
Age helps with point #2 and #3.
With regard to JavaScript, the web browser pretty much forces you to use it. So it doesn't really matter how good or bad it is, it will have adoption.
These people people got up to 2M concurrent TCP connections
http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2...
And on top of it, it is using isolated heaps. That is beautiful I think. Completely concurrent GC is beautiful.
I know Erlang syntax is not to for everyone's taste (I do like it though). There is also Elixir (http://elixir-lang.org/). But the underlying BEAM VM is an awesome piece of technology.
> The thought was to have a billion threads on a SPARCStation 10
There are some green-thread C libraries I've been playing with, like Protothreads ( http://dunkels.com/adam/pt/index.html ) and libconcurrency ( https://code.google.com/p/libconcurrency/ ) I think they use setjump/longjump trick. Some use setcontext()/getcontext() POSIX call.
I still like Erlang VM best.