Лисп: различия между версиями
Ramir (обсуждение | вклад) Нет описания правки |
Ramir (обсуждение | вклад) Нет описания правки |
||
Строка 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;"> |
|||
==Содержание== |
==Содержание== |
||
<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 довольно производительны, притом встроенные функции также можно переопределять.
Содержание
(Красным — даже не начатое.)
- Историософия: происхождение и философские основы Лиспа, его силы и слабости
- Рабочая среда: диалект и интеграция разработки
- Литература: о Лиспе или даже про Лисп
- Синтаксис
- Типы данных
- Функции и функциональный стиль
- Математика
- Оптимизация
Примечания
- ↑ Ибо Ассемблер «язык» машины, а не программирования, а Фортран — не вполне жив.
- ↑ В основных диалектах у символов статическая область видимости, и древо символов со введением связи «обозначения» становится последовательно-параллельным частичным порядком, для начала.
- ↑ Изучите справку по сайту Викиучебник, освойтесь с вики-средой, общайтесь с читателями и соавторами (
Обсуждение:Лисп
,Обсуждение:Лисп/Типы данных
и так далее.)