> Да я в курсе про хвостовую рекурсию. Вот только она не относится
> к стандартным языковым конструкциям для организации цикла. Конструкция for часто короче,
> она понятней новичкам, и при этом более компактна. Иногда хвостовая рекурсия
> - это однозначное благо. А иногда - дикий оверинжиниринг. Всё зависит
> от задачи, решаемой с её помощью. Задачу вроде FizzBuzz вы же
> не будете решать с помощью хвостовой рекурсии? Да и в плане
> производительности(я на C никогда не писал, не знаю) разве многократный вызов
> функции выполняется быстрей, чем конструкции вроде while и for?Какой "вызов функции"? Она же хвостовая.
> Ведь всё
> это потом компилируется в машинные инструкции, и(насколько я помню ассемблер x86)
> для организации циклов используются инструкции безусловный и условных переходов. А они
> выполняются быстрее, чем многократный вызов одной и той-же функции. Возможно, компилятор
> как-то оптимизирует код, использующий хвостовую рекурсию, не знаю. Если оптимизаций нет,
> то лучше применять её только там, где это действительно необходимо.
А ты попробуй, перед тем как рассказывать.