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

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