The difference between O(1) and O(n) memory usage is a big deal, IMHO...
The difference between O(1) and O(n) memory usage is a big deal, IMHO...
That's exactly the point. You can use nice functional idioms in Python as long as you make the main loop(s) that crunch data iterative. Same thing in Javascript.
Adding tail-call optimization adds little to Javascript; it's nice to have but has no high return on investment (in terms of the effort you put into the language vs. what becomes impossible if you omit it).
Case in point: Think of all the criticism directed at Python. The lack of tail-call optimization is not voiced very frequently.
The point of recursion is that it makes really hard problems simple to solve.
Anyway, in Python you can always fake TCO using decorators. As long as someone invents the same thing for Javascript, no harm, no foul.