| > C++, Java, Lua, Ur, Go, Ruby and Erlang are all faster than JS Wrong column. You're looking at languages, but a language does not affect performance: its platform does. E.g., the only Ruby benchmark which is faster than Node is actually JRuby, i.e. Java. > and especially Ruby is a much nicer language That's a matter of preference. I don't like Ruby myself (nor most languages encouraging classes as their primary constructs). You shouldn't evaluate languages, but platforms. > but its not (yet) a very good general purpose tool Why? I mean, no tool is a very good general purpose tool, but what makes NodeJS worse as a tool than, say, Ruby? > I don't want to be the guy who has to maintain that callback hell 5 years from now. Neither do I. That's why I don't use JavaScript for anything else than a target language. You seem to like ES6, why don't you use it and transpile it to plain JS? Platforms, not languages. |
Both language and platform affect performance, otherwise JRuby would be the same speed as native Java, which is not the case.
> E.g., the only Ruby benchmark which is faster than Node is actually JRuby, i.e. Java.
Which still means that Ruby (as a language, using the JRuby implementation) can be faster than Node (assuming the benchmark at issue is meaningful at all.)
> That's a matter of preference. Anyways, you shouldn't evaluate languages, but platforms.
Since you actually need to choose languages to use, you absolutely should evaluate them. You should, of course, also evaluate platforms since you need to choose those, too (and part of evaluating languages is evaluating the constraints language choices put on platform choices, and vice versa.)