Немного доброты по ссылке с форума newLISP (Ссылка)
Подводя итог, эта точка зрения на хвостовую рекурсию основана на следующих идеях:
* Она предназначена для избегания циклов, которые по какой-то причине полагаются пуристами "плохими". Эти извращенцы думают в циклах, потом переводят свой код в хвостовую рекурсию, а потом ожидают от компилятора обратного перевода в циклы. Это чисто академическая ментальная гимнастика безо всякой практической цели.
* Люди, которым нравится хвостовая рекурсия, целенаправленно обмеменяют свой когд во имя "математической" или "теоретической" чистоты, ожидая при этом, что имлементатор языка сделает за них всю грязную работу.
* Любой код, который зависит от хвостовой рекурсии, легко может быть переписан в циклах. Такая перепись является тривиальной местной трансформацией.
* Межпроцедурная хвостовая рекурсия может привести к некоторому увеличению производительности, но это увеличение будет крайне мало, и за это увеличение придётся заплатить потерей ценной отладочной информации.
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2010
(64)
-
▼
апреля
(19)
- Lock: продолжение.
- newLISP: самодельная блокировка текстовых файлов
- JavaScript: закрывать псевдопопап по Escape
- SICP: малая теорема Ферма
- Uptime в среде Windows
- SICP 1.19: Фибоначчи по логарифму
- Чётные числа
- SICP: итеративное возведение в степень
- Способы разменять монеты
- Хвостовая рекурсия
- Фриддл, ДКА и НКА
- SICP
- JavaScript: навигация стрелками и Enter
- Windows -> Linux: ошибка sh: ./index.cgi: not found
- Обработка html в newLISP
- CSS: отцентровать весь документ
- Три добродетели программиста
- PuTTY и слепой синий цвет
- Миграция PHP программы с Windows на Linux
-
▼
апреля
(19)
Комментариев нет:
Отправить комментарий