In some other languages–you might be surprised how few. For starters, basically all functional languages have tail call optimization (without explicit looping constructs built in they have to), and that includes the JVM-based ones like Scala & Closure. But also C, C++, C# (actually all .NET languages because the JIT does it), Objective-C, Javascript, Kotlin…






















