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

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 15: Строка 15:


Познание вычисления как такового — стезя академического курса и лет практики. Притом же надо примером отразить привычные ограничения «непрограммируемых языков программирования». Задача гигантская, однако, на Лисп упало внимание многих компьютерно-математических гениев, а нам следует вскарабкаться на плечи гигантов, уместно освещая избранную [[Лисп/Литература|литературу о Лиспе]]. Ясно также, что кратчайшие пути обучения расплетаются по локальным оптимумам для разных задач. Здесь нам опять повезло: перед вами — не просто [[:w:Викиучебник|учебник в свободном доступе]], а домашняя страница <big>открытой школы</big>, где каждый может быть и слушателем, и автором.<ref>Изучите [[Справка|справку]] по сайту Викиучебник, освойтесь с [[вики]]-средой, общайтесь с читателями и соавторами (<code>[[Обсуждение:Лисп]]</code>, <code>[[Обсуждение:Лисп/Типы данных]]</code> и так далее.)</ref></div>
Познание вычисления как такового — стезя академического курса и лет практики. Притом же надо примером отразить привычные ограничения «непрограммируемых языков программирования». Задача гигантская, однако, на Лисп упало внимание многих компьютерно-математических гениев, а нам следует вскарабкаться на плечи гигантов, уместно освещая избранную [[Лисп/Литература|литературу о Лиспе]]. Ясно также, что кратчайшие пути обучения расплетаются по локальным оптимумам для разных задач. Здесь нам опять повезло: перед вами — не просто [[:w:Викиучебник|учебник в свободном доступе]], а домашняя страница <big>открытой школы</big>, где каждый может быть и слушателем, и автором.<ref>Изучите [[Справка|справку]] по сайту Викиучебник, освойтесь с [[вики]]-средой, общайтесь с читателями и соавторами (<code>[[Обсуждение:Лисп]]</code>, <code>[[Обсуждение:Лисп/Типы данных]]</code> и так далее.)</ref></div>
<div style="max-width:52em;margin:2em auto 0 4%;padding-left:0.1em;">
==Содержание==
==Содержание==
<div style="max-width:52em;margin:2em auto 0 4%;padding-left:0.1em;"><small>''([[(несуществующая страница)|Красным]] — даже не начатое.)''</small>
<small>''([[(несуществующая страница)|Красным]] — даже не начатое.)''</small>
*[[Лисп/Историософия|Историософия]]<small>: происхождение и философские основы Лиспа, его силы и слабости</small>
*[[Лисп/Историософия|Историософия]]<small>: происхождение и философские основы Лиспа, его силы и слабости</small>
*[[Лисп/Рабочая среда|Рабочая среда]]<small>: диалект и интеграция разработки</small>
*[[Лисп/Рабочая среда|Рабочая среда]]<small>: диалект и интеграция разработки</small>
*[[Лисп/Литература|Литература]]<small>: о Лиспе или даже ''про'' Лисп</small>
*[[Лисп/Литература|Литература]]<small>: о Лиспе или даже ''про'' Лисп</small>
*[[Лисп/Введение|Введение]]<small> в наш порядок изучения</small>

===Основы===
**[[Введение в язык Scheme для школьников]]
**[[Введение в язык Scheme для школьников]]
*[[Лисп/Синтаксис|Синтаксис]]
*[[Лисп/Синтаксис|Синтаксис]]
Строка 30: Строка 28:
*:→ [[:Категория:Функциональное программирование|Категория «Функциональное программирование»]]
*:→ [[:Категория:Функциональное программирование|Категория «Функциональное программирование»]]
**[[Лисп/Рекурсия|Рекурсия]]
**[[Лисп/Рекурсия|Рекурсия]]
*[[Лисп/Математика|Математика]]
*[[Лисп/Оптимизация|Оптимизация]]


<!-- КРАСНОТА
===Разности===
===Разности===
*[[Лисп/Математика|Математика]]
*[[Лисп/Оптимизация|Оптимизация]]
*[[Лисп/Амортизация|Амортизация]], [[Лисп/Приспособляющиеся структуры|приспособляющиеся структуры]]
*[[Лисп/Амортизация|Амортизация]], [[Лисп/Приспособляющиеся структуры|приспособляющиеся структуры]]
<!-- КРАСНОТА
*[[Лисп/Подпрограммы]]<small>: как локализовать эффекты низкоуровневых процедур. Импорт из Си.
*[[Лисп/Подпрограммы]]<small>: как локализовать эффекты низкоуровневых процедур. Импорт из Си.
*[[Лисп/Низкоуровневое программирование|Низкоуровневое программирование]]
*[[Лисп/Низкоуровневое программирование|Низкоуровневое программирование]]
Строка 41: Строка 39:
===Тонкости===
===Тонкости===
*[[Аспектно-ориентированное программирование]]<small> (примеры на [[Java]])</small>-->
*[[Аспектно-ориентированное программирование]]<small> (примеры на [[Java]])</small>-->


<!-- ПРЯЧУ КРАСНОТУ ДО ЛУЧШИХ ВРЕМЕН
<!-- ПРЯЧУ КРАСНОТУ ДО ЛУЧШИХ ВРЕМЕН
===Применения===
===Применения===
Строка 55: Строка 51:
*[[Различение образов]] и [[раскопка данных]]-->
*[[Различение образов]] и [[раскопка данных]]-->
</div>
</div>
==Примечания==
<div style="max-width:52em;margin:0 auto 0 3%;">
<div style="max-width:52em;margin:0 auto 0 3%;">
==Примечания==
<references />
<references />
</div>
</div>

Версия от 06:32, 8 мая 2011


Лисп полон выгодных особенностей. Он — старейший из ныне живых языков программирования,[1] а по уровню вводимых абстракций и по свободе выражения Лисп превосходит все прочие. Это первый язык функционального программирования, но и любые парадигмы, философии, привычки, условия среды — он поддерживает гибко и эффективно.

Лисповый код представляется…

(через
  (избыточное (на первый взгляд)
    нагромождение (круглых) скобок)))

односвязным списком.[2]
Всевозможные элементарные части программы: числа, текст, имена переменных, — в каждом случае абстрагируются до общего понятия символа, функции – до понятия формы, а сплошная типизация «статических языков» заменяется необязательной декларацией типов, — допустимой, практически, на любом шаге программы, как и вкомпиляция произвольного кода. Хотя, даже на встроенных функциях программы на диалекте Common Lisp довольно производительны, притом встроенные функции также можно переопределять.

Познание вычисления как такового — стезя академического курса и лет практики. Притом же надо примером отразить привычные ограничения «непрограммируемых языков программирования». Задача гигантская, однако, на Лисп упало внимание многих компьютерно-математических гениев, а нам следует вскарабкаться на плечи гигантов, уместно освещая избранную литературу о Лиспе. Ясно также, что кратчайшие пути обучения расплетаются по локальным оптимумам для разных задач. Здесь нам опять повезло: перед вами — не просто учебник в свободном доступе, а домашняя страница открытой школы, где каждый может быть и слушателем, и автором.[3]

Содержание

(Красным — даже не начатое.)

Примечания

  1. Ибо Ассемблер «язык» машины, а не программирования, а Фортран — не вполне жив.
  2. В основных диалектах у символов статическая область видимости, и древо символов со введением связи «обозначения» становится последовательно-параллельным частичным порядком, для начала.
  3. Изучите справку по сайту Викиучебник, освойтесь с вики-средой, общайтесь с читателями и соавторами (Обсуждение:Лисп, Обсуждение:Лисп/Типы данных и так далее.)