?

Log in

No account? Create an account
Почему LISP? - Жить не можем без проблем! [entries|archive|friends|userinfo]
Жить не можем без проблем!

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Почему LISP? [Jan. 13th, 2011|02:05 pm]
Жить не можем без проблем!

ru_lisp

[aralex]

Как говорил Ворошилов, вопрос к Знатокам (к знатокам LISP-а в данном случае)! Почему таки LISP? Или, если конкретнее, вопроса три:

  1. Для каких именно задач LISP подходит больше, чем другие языки?
  2. За счёт чего для них он подходит больше?
  3. В чём именно выражается его преимущество?

Если не в лом, приведите, pls, коротенькие иллюстрации на LISP-е (или ссылочку на них). Заранее благодарен!

Исходно данный пост был размещён в сообществе ru_programming, но там Знатоков, способных ответить внятно и по сути, увы, не нашлось :(

linkReply

Comments:
[User Picture]From: pufpuf
2011-01-13 10:23 pm (UTC)
Lisp — это наиболее удобный язык для системного программирования, сочетающий в себе динамичность с возможностью наложить при необходимости сколь угодно строгие ограничения. Кроме того, за счет своей метапрограммной природы он обладает максимальной гибкостью, что позволяет сочетать в рамках одного языка и среды исполнения разные подходы и парадигмы (в других системах это обычно делается путем сочетания нескольких языков. Простой пример: веб-приложение, написанное на Ruby-on-Rails, задействует Ruby, JavaScript, HTML + какой-то кастомный язык шаблонов, SQL, YAML, Shell и, возможно, еще что-то, о чем я не подумал. В Lisp'е же такое приложение может быть написано полностью в рамках одного языка и рантайма, из которого методом кодогенерации будет создаваться код для целевых сред).
Также, верно замечено, что Lisp отлично подходит для любой исследовательской дейтельности, благодаря наилучшими на данный момент возможностями для интерактивной разработки и, опять же, гибкости.
В принципе, 10 основных технологий современного Lisp'а хорошо описаны в этом комиксе: http://landoflisp.com/ (листайте вниз по стрелке)
(Reply) (Thread)
From: acefsm
2011-01-13 11:22 pm (UTC)
>Lisp — это наиболее удобный язык для системного программирования

что вы понимаете под системным программированием?
приведите примеры таких системных программ/драйверов
(Reply) (Parent) (Thread)
[User Picture]From: pufpuf
2011-01-14 02:17 am (UTC)
Под системным программированием я понимаю любые инфраструктурные вещи, сервера. Условно, всё, что пишут на С, Java, Erlang или С#. Вообще говоря, всё прикладное программирование я бы разбил всего на 3 части: обработка данных (от простых утилит, типа архиватора иди grep'а, до machine learning), программирование UI и системное. Драйвера -- это очень небольшой кусок системного программирования. (И писать их на Лиспе, кстати, тоже вполне можно: для Лисп-машин они и были написаны).
(Reply) (Parent) (Thread)
From: acefsm
2011-01-14 11:02 am (UTC)
ok
приведите примеры таких системных программ/драйверов
(Reply) (Parent) (Thread)
[User Picture]From: pufpuf
2011-01-14 08:34 pm (UTC)
например, QPX недавно приобретенного гуглом ITA Software или http://en.wikipedia.org/wiki/Genera_(operating_system)
(Reply) (Parent) (Thread)
From: acefsm
2011-01-14 09:46 pm (UTC)
не совсем понятно что это такое
какая то программа для управления полетами?

в вики про нее ничего не написано
(Reply) (Parent) (Thread)
[User Picture]From: aralex
2011-01-14 06:52 am (UTC)
Спасибо! Суть постепенно проясняетс :)
(Reply) (Parent) (Thread)