| _cached_html |
TransformedText Object
(
[_type] => PageType_wikitext Object
(
)
[_basepage] => Лисп
[_content] => Array
(
[0] => <div class="wikitext"><p class="tightenable top">LISt Processing -
[1] => Cached_WikiLink Object
(
[_page] => ФункциональныйЯзык
)
[2] => - намного старше
[3] => Cached_WikiLink Object
(
[_page] => Форт
)
[4] => а, и вообще один из первых языков программирования высокого уровня - разработан
[5] => Cached_WikiLink Object
(
[_page] => JohnMcCarthy
)
[6] => (из
[7] => Cached_WikiLink Object
(
[_page] => MIT
)
[8] => ) в конце 50х годов (обычно называют 1958 год), т.е. только
[9] => Cached_WikiLink Object
(
[_page] => Фортран
)
[10] => старше
[11] => Cached_WikiLink Object
(
[_page] => Лисп
)
[12] => а. По элегантности с ним врядли можно сравнить какой-либо другой язык. При почти предельно минимальном наборе базовом наборе сущностей он является совершенно полноценным языком программирования. К сожалению незаслуженно забываемым. Последние острова его использования - вымирающие проекты по исследованиям в области искусственного интеллекта (когда-то в 60х-70х годах эта область хорошо финансировалась, и
[13] => Cached_WikiLink Object
(
[_page] => Лисп
)
[14] => у тогда жилось привольно, он был неотъемлемой частью "культуры хакеров" в
[15] => Cached_WikiLink Object
(
[_page] => MIT
)
[16] => ), средство программирования
[17] => Cached_WikiLink Object
(
[_page] => AutoCAD
)
[18] => , встроенный язык некоторых экспертных систем, редактора
[19] => Cached_WikiLink Object
(
[_page] => Emacs
)
[20] => в
[21] => Cached_WikiLink Object
(
[_page] => Unix
)
[22] => - вот, пожалуй, и все известные мне ниши
[23] => Cached_WikiLink Object
(
[_page] => Лисп
)
[24] => а.</p>
<p class="tightenable">Но
[25] => Cached_WikiLink Object
(
[_page] => Лисп
)
[26] => существенно обогатил своими идеями все последующие языки.
Именно Лисп обладает наиболее развитой объектно-ориентированной средой
?CLOS.</p>
<p class="tightenable">Следует отметить, что именно в
[27] => Cached_WikiLink Object
(
[_page] => Лисп
)
[28] => е появилось единообразие
программы и данных на высоком уровне.
(Не как в ассемблере-машинном коде.)</p>
<p class="tightenable">
[29] => Cached_WikiLink Object
(
[_page] => Форт
)
[30] => , возможно, взял из
[31] => Cached_WikiLink Object
(
[_page] => Лисп
)
[32] => а больше, чем другие языки.
[33] => Cached_WikiLink Object
(
[_page] => Форт
)
[34] => позаимствовал у
[35] => Cached_WikiLink Object
(
[_page] => Лисп
)
[36] => а списки-словари, хранящие во время выполнения пограммы имена и тела процедур.
[37] => Cached_WikiLink Object
(
[_page] => Форт
)
[38] => , как и
[39] => Cached_WikiLink Object
(
[_page] => Лисп
)
[40] => , может относиться к своим процедурам как к данным и наоборот.
[41] => Cached_WikiLink Object
(
[_page] => Форт
)
[42] => позаимствовал у
[43] => Cached_WikiLink Object
(
[_page] => Лисп
)
[44] => а понятие "ячейка" как единицы выделения памяти. Диалоговый режим работы - оттуда же. Возможность переопределения системных слов - тоже. Виртуальная машина - тоже. Реализация
[45] => Cached_WikiLink Object
(
[_page] => Лисп
)
[46] => - и
[47] => Cached_WikiLink Object
(
[_page] => Форт
)
[48] => -машин "в железе", и т.д. Даже синтаксис этих языков подобен - у
[49] => Cached_WikiLink Object
(
[_page] => Лисп
)
[50] => а полностью префиксная запись текстов программ, у
[51] => Cached_WikiLink Object
(
[_page] => Форт
)
[52] => а зеркально наоборот - почти полностью постфиксная. Например, в
[53] => Cached_WikiLink Object
(
[_page] => Форт
)
[54] => е вырвжение 5+5 записывается как</p>
<pre class="tightenable">
5 5 +</pre>
<p class="tightenable">а в Лиспе как</p>
<pre class="tightenable">
(+ 5 5)</pre>
<p class="tightenable">Возможно ЧакМур, прочитав мои слова, воскликннул бы - "ничего подобного - я сам всё это придумывал и ничего у
[55] => Cached_WikiLink Object
(
[_page] => Лисп
)
[56] => а не заимствовал!" <a name="ftnt_ref_1" id="ftnt_ref_1"></a><sup>[
[57] => Cached_WikiLink Object
(
[_page] =>
[_anchor] => ftnt_1
[_label] => 1
)
[58] => ]</sup> Конечно, может так всё и было, но это не противоречит тому, что
[59] => Cached_WikiLink Object
(
[_page] => Лисп
)
[60] => был первым языком, воплотившим упомянутые идеи, а
[61] => Cached_WikiLink Object
(
[_page] => Форт
)
[62] => - вторым.
[63] => Cached_WikiLink Object
(
[_page] => Форт
)
[64] => у очень далеко до математической строгости и упорядоченност
[65] => Cached_WikiLink Object
(
[_page] => Лисп
)
[66] => а, поэтому я вполне верю, что Мур дошел своим умом без учета чужого опыта. Как бы там ни было,
[67] => Cached_WikiLink Object
(
[_page] => Форт
)
[68] => более жизнеспособен, т.к. более компактен и быстр, а это все еще немаловажно.<a name="ftnt_ref_2" id="ftnt_ref_2"></a><sup>[
[69] => Cached_WikiLink Object
(
[_page] =>
[_anchor] => ftnt_2
[_label] => 2
)
[70] => ]</sup></p>
<p class="tightenable bottom">Где почитать о
[71] => Cached_WikiLink Object
(
[_page] => Лисп
)
[72] => е.</p>
<ul><li class="tightenable top bottom">Эро Хювенен, Йоуко Сеппянен. "Мир Лиспа". 2 т.</li>
<li class="tightenable top bottom">Патрик Уинстон. "Искусственный интеллект"(?)</li>
<li class="tightenable top">Хендерсон. "Функциональное программирование". (?)</li>
</ul>
<p class="tightenable">Много полезной информации на странице
[73] => Cached_ExternalLink Object
(
[_url] => http://www.elwood.com/alu/table/contents.htm
[_label] => Ассоциации пользователей Лиспа
)
[74] => ,
[75] => Cached_ExternalLink Object
(
[_url] => http://www.lisp.org/
)
[76] => .</p>
<ul><li class="tightenable bottom">
[77] => Cached_ExternalLink Object
(
[_url] => http://dmoz.org/Computers/Programming/Languages/Lisp/
)
[78] => </li>
<li class="tightenable top bottom">
[79] => Cached_ExternalLink Object
(
[_url] => http://www.yandex.ru/yandsearch?text=%CB%E8%F1%EF
)
[80] => :)</li>
<li class="tightenable top bottom">
[81] => Cached_ExternalLink Object
(
[_url] => http://www.wikipedia.com/wiki/LISP+programming+language
[_label] => Статья о Лиспе в WikiPedia
)
[82] => </li>
<li class="tightenable top bottom">
[83] => Cached_ExternalLink Object
(
[_url] => http://www.paulgraham.com/lisplinks.html
)
[84] => - ссылки на трансляторы, программы, книги и т.д.</li>
<li class="tightenable top bottom">
[85] => Cached_ExternalLink Object
(
[_url] => http://www.list.org/
)
[86] => </li>
<li class="tightenable top">
[87] => Cached_ExternalLink Object
(
[_url] => http://www.lisp.org/HyperSpec/FrontMatter/
)
[88] => - текст стандарта</li>
</ul>
<h4>Трансляторы</h4>
<ul><li class="tightenable top bottom">
[89] => Cached_ExternalLink Object
(
[_url] => http://clisp.sourceforge.net/
)
[90] => - GNU CLISP - an ANSI Common Lisp, есть версия для Windows</li>
<li class="tightenable top bottom"><p class="tightenable top bottom">
[91] => Cached_ExternalLink Object
(
[_url] => http://www.cons.org/
)
[92] => место, где есть многое</p>
<ul><li class="tightenable top bottom">GNU CLISP</li>
<li class="tightenable top bottom">CMU-CL</li>
</ul>
</li>
<li class="tightenable top">
[93] => Cached_ExternalLink Object
(
[_url] => http://www.gnu.org/software/gcl/
)
[94] => - GNU Common Lisp</li>
</ul>
<p class="tightenable bottom"><a name="ftnt_1" id="ftnt_1"></a>[
[95] => Cached_WikiLink Object
(
[_page] =>
[_anchor] => ftnt_ref_1
[_label] => 1
)
[96] => ] ЧакМур знал Лисп (См. интервью на канале IRC.) (ASau.)
<a name="ftnt_2" id="ftnt_2"></a>[
[97] => Cached_WikiLink Object
(
[_page] =>
[_anchor] => ftnt_ref_2
[_label] => 2
)
[98] => ] Однако, Форт менее динамичен, чем Лисп.
Ср., например, способы управления памятью: полустатическая у Форта,
полностью динамическая в Лиспе (появился сбор мусора).
Кроме того, учитывая достаточно сильную оптимизацию,
Лисп может быть ненамного медленнее Форта.</p>
</div>
)
)
|