Как известно, она нужна для того, чтобы ркурсивные вызовы превращать в цикл. Это звучит глуповато. Н*я писать циклы через жопу, если их можно написать напрямую. Некоторые утверждают, что, якобы, рекурсия — более выразительное средство, чем циклы. Это утверждение спорное, к тому же, те кто это утверждает, обычно думают, что компилятор с поддержкой опимизации хp разворачивает любой рекурсивный код, тогда как он разворачиват только хвосторкурсивный, который представляет из себя гребаный адЪ. Я, BTW, что-то не слишком часто наблюдаю, чтобы кто-то писал в хвосторекурсивном стиле.
Так зачем же она нужна? Дело опять в оптимизации? Или это просто дешвые понты фп-дрочеров?
UPD. Я в курсе, тащемта, что в языках с запретом присваивания циклы просто нвозможно написать, я просто думал, что есть другие причины (кроме ограничений языка). Например в SICP уделено ей немало, нсмотря на то, что scheme разрешает присваивания. Видел даже питонистов, ратующих за то, чтобы в питоне запилили оптимизацию. На*й она им нужна?