Лисп: различия между версиями
Ramir (обсуждение | вклад) м ОЗАЛ! |
Ramir (обсуждение | вклад) мНет описания правки |
||
Строка 10: | Строка 10: | ||
(кажущегося (на первый взгляд) избыточным) |
(кажущегося (на первый взгляд) избыточным) |
||
обилия (круглых) скобок))</source></code> |
обилия (круглых) скобок))</source></code> |
||
<span style="margin-left:-0.6em">…представляется</span> простой и удобной структурой данных — списком (точнее, одно[[w:Связный список|связным списком]], стало быть [[w: |
<span style="margin-left:-0.6em">…представляется</span> простой и удобной структурой данных — списком (точнее, одно[[w:Связный список|связным списком]], стало быть [[:w:en:multitree|мультидеревом]]), где всевозможные составные части программы: числа, [[Электронный текст|текст]], имена переменных… — в каждом случае абстрагируются до общего понятия [[Лисп/Символы|''символа'']], [[Лисп/Функции|функции]] – до понятия ''формы'', а сплошная типизация «чистых функций» заменяется необязательной декларацией типов, — допустимой, практически, на любом шаге программы, но равно как и «вкомпиляция» произвольного кода. Хотя и даже на базовых функциях программы общего назначения на Лиспе довольно производительны. |
||
Здесь мы намерены научить читателя программировать на Лиспе, хотя бы в одном из его [[Лисп/Диалекты|диалектов]]. Ответственный подход к этой задаче требует (перед изучением языка или же одновременно) преподать искусство вычисления вообще, — |
Здесь мы намерены научить читателя программировать на Лиспе, хотя бы в одном из его [[Лисп/Диалекты|диалектов]]. Ответственный подход к этой задаче требует (перед изучением языка или же одновременно) преподать искусство вычисления вообще, — стязи многих лет академического занятия, практики, чтения и практики. Притом же надо передумать привычные ограничения «непрограммируемых языков программирования»… Задача перед нами гигантская. |
||
<span style="margin-left:-0.1em">О</span>днако, Лисп заслужил всестороннего внимания величайших мыслителей информатики и компьютерной технологии, и нам остаётся лишь попытаться вскарабкаться на плечи гигантов, — хотя бы в дидактическом плане, — уместно ссылаясь на избранную [[Лисп/Литература|литературу о Лиспе]], часто общедоступную по Сети. Ясно также, что кратчайший путь к поставленной нами цели не единственен, а расплетается по локальным оптимумам для разных вычислительных применений компьютера. Здесь нам опять повезло: перед вами — не просто учебник в свободном |
<span style="margin-left:-0.1em">О</span>днако, Лисп заслужил всестороннего внимания величайших мыслителей информатики и компьютерной технологии, и нам остаётся лишь попытаться вскарабкаться на плечи гигантов, — хотя бы в дидактическом плане, — уместно ссылаясь на избранную [[Лисп/Литература|литературу о Лиспе]], часто общедоступную по Сети. Ясно также, что кратчайший путь к поставленной нами цели не единственен, а расплетается по локальным оптимумам для разных вычислительных применений компьютера. Здесь нам опять повезло: перед вами — не просто учебник в свободном доступе: это домашняя страница <big>открытой школы</big>, где каждый может быть слушателем или добавить к экспертизе преподавателей.<ref>Изучите [[Справка|справку]] по сайту Викиучебник, освойтесь с [[вики]]-средой, общайтесь с читателями и соавторами (<code>[[Обсуждение:Лисп]]</code>, <code>[[Обсуждение:Лисп/Типы данных]]</code> и так далее.) Проект [[Вики в образовании]] даёт общий взгляд на такой способ открытого сетевого обучения.</ref> |
||
Пока же учебник только намечается, и для средоточения наших усилий положим такое требование читателю: знание Лиспа Вам нужно для решения некоей сложной задачи, либо определённого класса задач. Вы — не языковед, из любопытства знакомящийся с программистской латынью, а деловой человек, нуждающий верно, точно и красиво излагать на языке творческие мысли. В толстый академико-промышленный справочник по отдельному диалекту вы заглянете лишь изредка, за объяснением выражения, непонятного из контекста. Наш учебник постремится избегать такие неясности добавлением всё новых уроков и уместными ссылками на литературу. Совершенствованию помогут, опять-таки, ваши отзывы и замечания.</div> |
Пока же учебник только намечается, и для средоточения наших усилий положим такое требование читателю: знание Лиспа Вам нужно для решения некоей сложной задачи, либо определённого класса задач. Вы — не языковед, из любопытства знакомящийся с программистской латынью, а деловой человек, нуждающий верно, точно и красиво излагать на языке творческие мысли. В толстый академико-промышленный справочник по отдельному диалекту вы заглянете лишь изредка, за объяснением выражения, непонятного из контекста. Наш учебник постремится избегать такие неясности добавлением всё новых уроков и уместными ссылками на литературу. Совершенствованию помогут, опять-таки, ваши отзывы и замечания.</div> |
Версия от 13:13, 6 мая 2011
Лисп полон выгодных особенностей. Он — старейший из ныне живущих языков программирования.[2] Притом по уровню вводимых абстракций и по свободе выражения Лисп превосходит чуть ли не все прочие языки. Например, это также и первый язык функционального программирования, хотя все остальные парадигмы, философии и привычки программирования, — включая непопулярные и чисто гипотетические, — он также поддерживает, гибко и эффективно.
Дело в том, что лисповый код…
(с виду (опять-таки) необычный (весьма)
(из-за
(кажущегося (на первый взгляд) избыточным)
обилия (круглых) скобок))
…представляется простой и удобной структурой данных — списком (точнее, односвязным списком, стало быть мультидеревом), где всевозможные составные части программы: числа, текст, имена переменных… — в каждом случае абстрагируются до общего понятия символа, функции – до понятия формы, а сплошная типизация «чистых функций» заменяется необязательной декларацией типов, — допустимой, практически, на любом шаге программы, но равно как и «вкомпиляция» произвольного кода. Хотя и даже на базовых функциях программы общего назначения на Лиспе довольно производительны.
Здесь мы намерены научить читателя программировать на Лиспе, хотя бы в одном из его диалектов. Ответственный подход к этой задаче требует (перед изучением языка или же одновременно) преподать искусство вычисления вообще, — стязи многих лет академического занятия, практики, чтения и практики. Притом же надо передумать привычные ограничения «непрограммируемых языков программирования»… Задача перед нами гигантская.
Однако, Лисп заслужил всестороннего внимания величайших мыслителей информатики и компьютерной технологии, и нам остаётся лишь попытаться вскарабкаться на плечи гигантов, — хотя бы в дидактическом плане, — уместно ссылаясь на избранную литературу о Лиспе, часто общедоступную по Сети. Ясно также, что кратчайший путь к поставленной нами цели не единственен, а расплетается по локальным оптимумам для разных вычислительных применений компьютера. Здесь нам опять повезло: перед вами — не просто учебник в свободном доступе: это домашняя страница открытой школы, где каждый может быть слушателем или добавить к экспертизе преподавателей.[3]
Пока же учебник только намечается, и для средоточения наших усилий положим такое требование читателю: знание Лиспа Вам нужно для решения некоей сложной задачи, либо определённого класса задач. Вы — не языковед, из любопытства знакомящийся с программистской латынью, а деловой человек, нуждающий верно, точно и красиво излагать на языке творческие мысли. В толстый академико-промышленный справочник по отдельному диалекту вы заглянете лишь изредка, за объяснением выражения, непонятного из контекста. Наш учебник постремится избегать такие неясности добавлением всё новых уроков и уместными ссылками на литературу. Совершенствованию помогут, опять-таки, ваши отзывы и замечания.Содержание
- Историософия: происхождение и философские основы Лиспа, его силы и слабости
- Рабочая среда: диалект и интеграция разработки
- Литература: о Лиспе или даже про Лисп
- Введение в наш порядок изучения
Основы
- Синтаксис
- Типы данных
- Функции и функциональный стиль
Разности
Примечания
- ↑ Сноски заключают строго необязательное, второстепенное повествование, призванное дать пояснение неочевидным утверждениям или решить возможные вопросы. Если таковых у Вас не возникает — смело пропускайте примечания, и всевозможные другие элементы интерфейса ;-)
- ↑ Ибо Ассемблер не назовёшь языком программирования, а Фортран — ныне живущим языком общего назначения.
- ↑ Изучите справку по сайту Викиучебник, освойтесь с вики-средой, общайтесь с читателями и соавторами (
Обсуждение:Лисп
,Обсуждение:Лисп/Типы данных
и так далее.) Проект Вики в образовании даёт общий взгляд на такой способ открытого сетевого обучения.