Лисп/Оптимизация: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
мНет описания правки
Строка 1:
<div style="max-width:52em;margin:1em auto 0 4%;">
Поразвлекавшись с [[Лисп/Рекурсия|рекурсией]] и повертев списочные структуры, новоприбывшие в Лисп порою не находят привычных средств разработки. Наша задача показать, что на Лиспе можно решать прикладные задачи, ещё даже не изучая специальных библиотек или программных комплексов.
Вы, возможно, уже познакомились с основами, но еще не знаете, что делать дальше? Обычно люди, знающих С++ & etc, бегло ознакомившихся с основами языка, недоумевают, как такими «скудными» средствами можно писать «нормальные программы»? Поразвлекавшись с рекурсией и повертев списки, они не находят в этом языке привычных средств для разработи. Наша задача показать, что на Лиспе МОЖНО писать серьезные программы для серьезных задач.
 
В качестве еще одного аргумента против Лиспа приводится его жуткая тормознутость. На заре языкостроения он действительно не мог конкурировать с фортраном, несмотря на то, что производил очень чистый и короткий машинный код, в лучших традициях MIT. Проблема была в [[w:Сборка_мусора|Garbage Collector’е]] — «сборщике мусора», концептуальным новшеством, впервые появившемся в Лиспе. Но прогресс требует жертв, и сборщик мусора в лиспе был действительно ресурсоемким. Но тот же прогресс не стоял на месте, и используя опыт java и др, разработчики сильно сократили время сборки мусора. Большинство реализаций лиспа, например, sbcl, выводят статистику использования памяти и ресурсов процессора по вызову функции time, которая в качестве аргумента принимает любую вычислимую форму.