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

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


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


=== Синтаксис ===
=== Синтаксис ===
Мова має дуже специфічний синтаксис:<br />
Сама назва мови Lisp (дитячий лепіт, сюсюкання, шепилявість) попереджає нас про дуже специфічний синтаксис:<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>
Рядок 16: Рядок 22:
=== Недоліки ===
=== Недоліки ===
* Як вже було сказано, йобнутий синтаксис.
* Як вже було сказано, йобнутий синтаксис.
* Функціональність&nbsp;— не найпопулярніша на ринку парадигма.
* Функціональність&nbsp;— не найпопулярніша на ринку парадигма, хоча Лісп також підтримує об`єктно-орієнтованість, на яку фапають всі крестобляді.
* Відсутність нормальних реалізацій для [[Windows|вінди]].
* Відсутність нормальних реалізацій для [[Windows|вінди]].


Рядок 31: Рядок 37:
{{reflist}}
{{reflist}}


{{Navbox|name = Мови програмування |state = autocollapse |title = Мови програмування |image = |above = |group1 = [[Мови програмування#Промислові|Промислові]] |list1 = [[Ассемблер]] · [[Сі]] · [[C++]] · [[Lisp]] · [[Haskell]] · [[Java]] · [[Javascript]] · [[Pascal|Поцкаль]] · [[Perl]] · [[PHP]] · [[Python]] · [[Ruby]] · [[Scheme]] · [[Visual Basic]] |group2 = [[Мови програмування#Езотеричні|Езотеричні]] |list2 = [[HQ9+]] · [[INTERCAL]] · [[Brainfuck]] · [[Befunge]] · [[Malbolge]] · [[Piet]] · [[Spoon]] · [[Whitespace]]}}
{{Мови програмування|topic = - мова програмування з найпиздонутішим синтаксисом}}


[[Категорія:Мови програмування]]
[[Категорія:Мови програмування]]
{{ПС|{{Користувач:Vox/Підпис}} 18:24, 22 квітня 2011 (EEST)|}}

Поточна версія на 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.