Keeping sanity in callback hell
owns.ch
owns.ch
There's LambdaScript (https://github.com/valderman/lambdascript) of course, but from the README it doesn't look like it's something you want to use at the moment..
What we may not agree on is whether Node and Scala are going to surpass Erlang in terms of popularity. I think it's only a matter of time. Those two systems are based on languages/runtimes that are orders of magnitude more popular than Erlang and are thus far more accessible. Being far more recent systems, as well, they also avoid some of the strange warts that Erlang must keep around because it's widely deployed enough that it can't be easily changed.
By the way, Erlang releases often break backward compatibility. And what are those warts you mentioned?
They're mostly minor nits, and don't prevent me from liking and using the language, but I'm skeptical about it ever being more than a niche language. Yes, obviously other languages have succeeded without having all those things, that's just the laundry list off the top of my head.
Most of languages today are niche. Non-niche languages can be counted with one hand, I guess. If we define "non-nicheness" as a "confidence in the use of language in a new project of majority of programmers/managers" I think we will be left with Java, C# and C++. All other languages will plug holes left from main ones.
Erlang, Scala and Node are good niche languages.
And I see a Node as a "precursor" for Erlang, actually. It opens lightweight threading for masses. And Node is so clumsy in use (callbacks!) that syntax won't be a big barrier in the use of Erlang. Semantics win over syntax.
I'm not sure how Scala will fare, but it's already about as popular as Erlang, and of course Javascript is way past it. Of course, they're nearly all browser users of JS, but still, knowing the syntax and having an idea of how it works makes for a far easier jump than to a functional language like Erlang.
When I offered my definition of non-nicheness, I had big inter-disciplinary projects in my mind. Something like online IDE, for example. Or electric scheme editor. You cannot cover all IDE needs with only PHP and JS. Most of logic will be in other languages and I think that the use of PHP/JS will be shrunk to non-irritating levels.
But I reserve my right to be wrong.
And thank you for langpop.com. It is worth a look.
As far as libraries are concerned, google is my repo. I have never understood the need for gems, CPAN, and so forth, since none of those are any more regulated for code quality than other random things on the net. Where do people go to find C or C++ packages? Google for me. But I did browse this for anything I thought I needed: http://trapexit.org/Special:UserContributions
That said, I thought the binaries were a bit painful.
I suppose it just boils down to opinion.
The same is true for JavaScript as well, but it's easier to accomplish, IMO, in CS. TJ Holowaychuk's JavaScript code, for instance, is very readable.