Look, JS is a language like any other. If I can do something in assembly, I can do it in JS. Give me IF statements (preferably with nesting support) and variables, and there's <i>nothing</i> that cannot be done.<p>What remains is how easy, how nice, how flexible, how enjoyable, how compatible, how reliable, how practical.<p>For me, the answer is C++, but don't let that influence you ;-)