Java has never been a particularly relevant language to me, despite being the first language I tried to teach myself. I’ve managed to avoid Java in my work, in my brief college eduction, and in my self-education. I’ve been aware that there’s a whole giant word of Java out there in the IT industry but I consider myself privileged to have never been mired in it beyond editing the occasional XML configuration or fixing minor bugs.
I think Russ Beattie’s claim that Java needs an overhaul is dead on, but I also liked this observation:
“The reason people are looking at Erlang is not because its beautiful syntax, great documentation, or up-to-date libraries. Trust me. It’s because the Erlang VM can run for long periods of time, scaling linearly across cores or processors filling the same niche that Java does right now on the server.”
If Ruby supported lightweight green threads, pattern matching, and some of the concurrency paradigms that Erlang offers, nobody would even be looking at the language. While Ruby may yet improve on this front, just about everybody I know who works on large-scale web applications has at least taken a hard look at Erlang, and some are diving right in.