Вопрос №105 от пользователя user-7f4b4446afcf509a в уроке «СИКП: Процедуры и порождаемые ими процессы 2», курс «Структура и интерпретация компьютерных программ»
http://www.cyberforum.ru/blogs/252403/blog1529.html
Возможно действительно стоит готовиться, прежде чем записывать видео по таким серьезным темам, заранее. Зачем вообще делать заявления в адрес языков и инструментов, которыми не владеешь?
В лекции речь идет о языках, а не о компиляторах. Cи не гарантирует оптимизацию хвостовой рекурсии, и в чистой имплементации самого языка Си, рекурсивный код будет вести себя именно так, как сказано в лекции. Некоторые компиляторы Си (популярные GCC или MSVC) могут пытаться оптимизировать хвостовую рекурсию когда это возможно (это поведение можно настраивать параметром при вызове компилятора), но это не гарантированная оптимизация на этапе компиляции (это и обсуждается в топике по вашей ссылке и об этом вы пишите в предыдущем сообщении под уроком). Scheme – один из немногих языков, гарантирующий оптимизацию хвостовых вызовов.
В курсе СИКП не рассматриваются практические особенности инструментов, а рассматриваются язык программирования в самом фундаментальном смысле слова. Программирования на бумаге.
Но вы правы, конечно, по поводу того, что нужно было упомянуть об этом отличии.
Нашел вопрос на quota https://www.quora.com/Should-I-start-learning-to-program-with-Python-or-SICP
Перевод SICP на Python 3 http://composingprograms.com Спасибо за материалы сайта, надеюсь втянуться.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







