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

Матеріал з Файна Меморії
Перейти до навігації Перейти до пошуку
Surikoff (обговорення | внесок)
мНемає опису редагування
вікіфікація
 
(Не показані 17 проміжних версій 6 користувачів)
Рядок 1: Рядок 1:
'''Lisp''' ''(LISt Processing, мова обробки списків, <s>Lots of Irritating Superfluous Parentheses</s>)'' - упорота [[Функціональне програмування|функціональна]] [[мова програмування]], створений в минулому столітті. Насправді, Лісп - сімейство мов програмуваня, яке має [[Over 9000|дохуя]] діалектів, найвідомішим з яких є [[Common Lisp]]. Трохи більше ніж повністю складається з смайлів, списків і рекурсії. В основному на Ліспі пишуть [[лінукс]]оїди, бо вони навчились бачити функціональність програми, а не [[Фап|фапати]] на її [[GUI|інтерфейс]].
'''Lisp''' ''(LISt Processing, мова обробки списків, <s>Lots of Irritating Superfluous Parentheses</s>)''&nbsp;— упорота <s>[[Функціональне програмування|функціональна]]</s> мультипарадигменна [[мова програмування]], створена в минулому столітті. Насправді, Лісп&nbsp;— сімейство мов програмуваня, яке має [[Over 9000|дохуя]] діалектів, найвідомішим з яких є [[Common Lisp]]. Трохи більше ніж повністю складається з смайлів, списків і рекурсії. В основному на Ліспі пишуть [[лінукс]]оїди, бо вони навчились бачити функціональність програми, а не [[Фап|фапати]] на її [[GUI|інтерфейс]].


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


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


===Недоліки===
=== Переваги ===
*Як вже було сказано, йобнутий синтаксис.
* Макроси!!1
*Функціональність - не найпопулярніша на ринку парадигма.
* Списки!!!1
*Відсутність нормальних реалізацій для [[Windows|вєнди]].
* Кількість коду приблизно як на [[Сі]], але код на Ліспі, на відміну від [[Сі|Сюшного]] коду, мавпа не зрозуміє.


=== Недоліки ===
* Як вже було сказано, йобнутий синтаксис.
* Функціональність&nbsp;— не найпопулярніша на ринку парадигма, хоча Лісп також підтримує об`єктно-орієнтованість, на яку фапають всі крестобляді.
* Відсутність нормальних реалізацій для [[Windows|вінди]].


== Голєрєя ==
== Галарая ==
<gallery>
<gallery>
Файл:Yo-dawg-lisp.jpg|Yo, dawg
Файл:Yo-dawg-lisp.jpg|Yo, dawg
Рядок 32: Рядок 32:


== Посилання ==
== Посилання ==
*[http://lisper.ru/ Ліспєр,Ру]
* [http://lisper.ru/ Ліспєр,Ру]


== Примітки ==
== Примітки ==
{{reflist}}
{{reflist}}
{{Мови програмування|topic = - мова програмування з найпиздонутішим синтаксисом}}
[[Категорія:Мови програмування]]
[[Категорія:Мови програмування]]

Поточна версія на 17:14, 19 червня 2011

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

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

Синтаксис

Сама назва мови 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.