Lisp: відмінності між версіями

Матеріал з Файна Меморії
Перейти до навігації Перейти до пошуку
Surikoff (обговорення | внесок)
Немає опису редагування
Surikoff (обговорення | внесок)
Немає опису редагування
Рядок 5: Рядок 5:
=== Синтаксис ===
=== Синтаксис ===
Мова має дуже специфічний синтаксис:<br />
Мова має дуже специфічний синтаксис:<br />
{{Блок|(format t "Hello, world!!!")}}
<pre>
(defun fibonacci (n)
    (loop repeat n
          for a = 1 then b
          and b = 1 then (+ a b)
          finally (return a)))
</pre>
<br />
<br />
Як ви вже зрозуміли, синтаксис мови складається з смайлів. З однієї сторони це добре, бо уже сприяє вкладеності команд, але з іншої сторони це буває дуже незручно. Особливо у великих програмах. Існують, звісно ж, спеціальні текстові редактори, які допомагають Ліспоїдам розуміти код, який вони тільки що написали, але це не змінює ситуацію.<ref>Ось тут і вада функціональних мов&nbsp;— їх синтаксис кидається з крайності в крайність: або без дужок, як в [[Haskell]], або з дуже великою кількістю дужок, як в Lisp.</ref>
Як ви вже зрозуміли, синтаксис мови складається з смайлів. З однієї сторони це добре, бо уже сприяє вкладеності команд, але з іншої сторони це буває дуже незручно. Особливо у великих програмах. Існують, звісно ж, спеціальні текстові редактори, які допомагають Ліспоїдам розуміти код, який вони тільки що написали, але це не змінює ситуацію.<ref>Ось тут і вада функціональних мов&nbsp;— їх синтаксис кидається з крайності в крайність: або без дужок, як в [[Haskell]], або з дуже великою кількістю дужок, як в Lisp.</ref>

Версія за 17:12, 12 травня 2011

Lisp (LISt Processing, мова обробки списків, Lots of Irritating Superfluous Parentheses) — упорота функціональна мова програмування, створений в минулому столітті. Насправді, Лісп — сімейство мов програмуваня, яке має дохуя діалектів, найвідомішим з яких є Common Lisp. Трохи більше ніж повністю складається з смайлів, списків і рекурсії. В основному на Ліспі пишуть лінуксоїди, бо вони навчились бачити функціональність програми, а не фапати на її інтерфейс.

Короткий огляд

Синтаксис

Мова має дуже специфічний синтаксис:

(defun fibonacci (n)
    (loop repeat n 
          for a = 1 then b 
          and b = 1 then (+ a b)
          finally (return a)))


Як ви вже зрозуміли, синтаксис мови складається з смайлів. З однієї сторони це добре, бо уже сприяє вкладеності команд, але з іншої сторони це буває дуже незручно. Особливо у великих програмах. Існують, звісно ж, спеціальні текстові редактори, які допомагають Ліспоїдам розуміти код, який вони тільки що написали, але це не змінює ситуацію.[1]

Переваги

  • Макроси!!1
  • Списки!!!1
  • Кількість коду приблизно як на Сі, але код на Ліспі, на відміну від Сюшного коду, мавпа не зрозуміє.

Недоліки

  • Як вже було сказано, йобнутий синтаксис.
  • Функціональність — не найпопулярніша на ринку парадигма.
  • Відсутність нормальних реалізацій для вінди.

Галарая

Посилання

Примітки

  1. ↑ Ось тут і вада функціональних мов — їх синтаксис кидається з крайності в крайність: або без дужок, як в Haskell, або з дуже великою кількістю дужок, як в Lisp.

Шаблон:ПС