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

Матеріал з Файна Меморії
Перейти до навігації Перейти до пошуку
Surikoff (обговорення | внесок)
Створена сторінка: '''Lisp''' ''(LISt Processing, мова обробки списків, <s>Lots of Irritating Superfluous Parentheses</s>)'' - упорота [[Функціонал...
 
Surikoff (обговорення | внесок)
мНемає опису редагування
Рядок 5: Рядок 5:
===Синтаксис===
===Синтаксис===
Мова має дуже специфічний синтаксис:
Мова має дуже специфічний синтаксис:
<br />{{Блок|(defun fibonacci (n)<br />    (loop repeat n <br />          for a = 1 then b <br />          and b = 1 then (+ a b)<br />          finally (return a)))<br />}}
<br />
(defun fibonacci (n)
    (loop repeat n  
          for a = 1 then b  
          and b = 1 then (+ a b)
          finally (return a)))
<br />
Як ви вже зрозуміли, синтаксис мови складається з смайлів. З однієї сторони це добре, бо уже сприяє вкладеності команд, але з іншої сторони це буває дуже незручно. Особливо у великих програмах. Існують, звісно ж, спеціальні текстові редактори, які допомагають Ліспоїдам розуміти код, який вони тільки що написали, але це не змінює ситуацію.<ref>Ось тут і вада функціональних мов - їх синтаксис кидається з крайності в крайність: або без дужок, як в [[Haskell]], або з дуже великою кількістю дужок, як в Lisp.</ref>
Як ви вже зрозуміли, синтаксис мови складається з смайлів. З однієї сторони це добре, бо уже сприяє вкладеності команд, але з іншої сторони це буває дуже незручно. Особливо у великих програмах. Існують, звісно ж, спеціальні текстові редактори, які допомагають Ліспоїдам розуміти код, який вони тільки що написали, але це не змінює ситуацію.<ref>Ось тут і вада функціональних мов - їх синтаксис кидається з крайності в крайність: або без дужок, як в [[Haskell]], або з дуже великою кількістю дужок, як в Lisp.</ref>



Версія за 19:41, 16 квітня 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.