LINUX.ORG.RU

50 лет языку LISP

 , mccarthy,


1

0

Сегодня знаменательная дата, старейшему после фортрана языку программирования исполнилось 50 лет. Несмотря на столь почтенный для языка программирования возраст, он до сих пор активно развивается, используется в новых проектах и десятилетиями использует концепции, которые в новых языках стали появляться только недавно. Кое-кто считает даже, что когда все остальные языки канут в небытие, LISP останется, потому что это единственный язык, про который можно сказать, что он не придуман, а математически вычислен Джоном Маккарти.

>>> Подробности

anonymous

Проверено: Shaman007 ()
Ответ на: комментарий от anonymous

2 anonymous (*) (21.10.2008 1:01:30)

> Результат будет весьма недвусмысленным. Лисп как промышленная технология для широкой области применения - экономически несостоятелен. Его удел - чисто академические проекты и узкие нишевые решения. Вы согласны с этим? Спасибо.

С последним весьма-а-а не согласен. Уж сколько времени пишу на Lisp решения анализа необходимости применения оружия соотносительно конкретной ситуации... Может, посоветуете другой язык? ;-))

R_Valery ★★★
()
Ответ на: комментарий от anonymous

>Как Вы помните, камрад Бэкус, "отец", что-ли, императивного стиля программирования ("слово-за-шаг") на вручении премии Тьюринга

только благодаря императивному программированию - Вы можете читать лор.
И знаете о Лиспе.

anonymous
()
Ответ на: комментарий от anonymous

Рад приветствовать, коллега. Надеюсь, что мы с вами преуспеем в нелегком деле мифоборчества. На ЛОРе сложилась какая-то особая атмосфера вокруг функциональных языков - атмосфера элитарности. Хочется, чтобы неофиты не велись на поводу у лиспо-хаскеле-дрочеров. Это - красивые академические языки, знакомство с ними (и с лямбда-исчислением вообще) рекомендуется для общего образования и математической культуры. Но не стоит сотворять из них кумиров - практическая ценность этих языков близка к нулю. Хочется, чтобы люди трезво смотрели на вещи.

Лисп сегодня, например, не имеет шансов стать востребованным языком для разработки КИС, а это очень толстый кусок рынка. Обоснования здесь следующие:
1) Лисп не приносит технологической выгоды: для лисп не существует коннекторов к промышленным СУБД, транзактной кеширующей прослойки ORM, развитого AOP (хотя здесь лисп может показать себя), MVC-фреймворков, GUI-библиотек (для rich-клиентов). Наконец, лисп просто не является объектно-ориентированным языком - а ничего лучшего для моделирования предметной области, чем ООП, человечество еще не придумало.
2) Лисп не приносит экономической выгоды. Пусть мы даже постулируем, что лисп-разработчик стоит столько же, сколько Java-разработчик, и пишет код так же быстро (что, в общем, нонсенс - во-первых, лисперы высоко задирают нос и сильно задаются в плане зарплат, во-вторых, работают менее продуктивно в силу отсутствия полноценного IDE). Но промышленный проект - это не только написание кода. На первой странице очень хорошо написали: "невозможность писать, рефакторить и поддерживать большое количество кода большой командой разработчиков". Это - краеугольный камень процесса промышленной разработки. При попытке заложить краеугольный камень из лисп, рушится все построенное здание.

Все вышеописанное закрывает путь для лисп в область enterprise.
При желании можно провести подобное (несложное) исследование для остальных востребованных областей софтверной разработки (ОС, компиляторы, математика и HPC, десктоп и мультимедиа). И убедиться, что и там у лисп нету шансов.

anonymous
()
Ответ на: комментарий от anonymous

Благодарю джава-программистов, потративших столько труда, на создание ЛОРа!

Жаль только, что этот труд был (и - есть :( ) настолько неэффективным...

anonymous
()
Ответ на: комментарий от Sun-ch

Кстати Sun-ch, я посмотрю, Вы сильно интересуетесь лисп и его разными реализациями, и как будто даже знаете сам язык и участвуете в каких-то разработках. Вообще раньше у меня складывалось впечатление, что Вы работаете системным администратором Solaris и по совместительству подрабатываете в PR-отделе Sun либо аффилированной конторы, например торгующей оборудованием Sun. Теперь же выясняеться что Вы программируете на лисп. Интересная личность Вы. Расскажите же, что Вы там такое на етом лисп пишете?

Вдогонку к предыдущему посту. Совсем я забыл embedded, такую большую и интересную область. Туда путь для лисп тоже заказан.

anonymous
()
Ответ на: комментарий от anonymous

>Жаль только, что этот труд был (и - есть :( ) настолько неэффективным...

перепиши на эффективном Лиспе ;)

anonymous
()
Ответ на: комментарий от anonymous

2 anonymous (*) (21.10.2008 1:24:30)

> Пролог. Будет легче программировать.

Эх-х-х... Кабы да кабы... На прологе тож писано не мало... Но, типовой анализ базы слишком мало подходит для анализа конкретики ситуации... Так и бурого мишку положить легче лёгкого. А он-то при чём? Тем более, что на анализ ситуации отводится, как Вы понимаете...

R_Valery ★★★
()
Ответ на: комментарий от anonymous

>Жаль только, что этот труд был (и - есть :( ) настолько неэффективным...
>настолько неэффективным

>неэффективным


Скажите пожалуйста, как бы Вы оценили трудозатраты на создание и поддержку подобного движка на лисп?

Я предлагаю эксперимент. Давайте оформим ТЗ на сильно упрощенный ЛОРоподобный движок (или блог-движок, или еще что).
После утверждения ТЗ с каждой стороны выдвигаются команды - три человека Javщика и три человека лиспера (вряд ли на ЛОРе найдется больше трех программистов лисп).
Засекается время.
По завершении программирования и развертывания подводятся итоги, подсчитывается время и всем ЛОРом изучается исходный текст.

А потом слегка меняется ТЗ, выдвигаются новые две команды (придется поднатужиться и найти еще трех лисперов) и проводится еще одна итерация - на внесение изменений в существующую систему. Причем не исходными разработчиками.

Как вам идея? По-моему, можно устроить.

anonymous
()
Ответ на: комментарий от anonymous

> Как вам идея? По-моему, можно устроить.

Врядли, лисперы очень занятой народ, ведь столько интересных дел у них, надо же на лоре флеймить.

anonymous
()
Ответ на: комментарий от anonymous

как вы смотрите на такой лисп: L# 2.0 - диалект ArcLisp под .net 3+ ? Предлагаю писать на нем. И мобильную версию - тоже на нем

anonymous
()
Ответ на: комментарий от anonymous

4.2 махровейшее. То есть, вы лжете.

Во первых, есть Лиспы по JVM и .NET, использующие все доступные там библиотеки. Во вторых, если CLOS не ООП, то я тогда не знаю, что вообще ООП.

Во вторых, лисперы работают на порядки продуктивнее любого жабакодера, и якобы "отсутсвие IDE" нисколько не мешает.

В третьих, как бы там местное ламьё не визжало, но Лисп давно уже в ентерпрайзе. И, да, он элитарен - вам, ламью, путь туда заказан.

anonymous
()
Ответ на: комментарий от anonymous

О, ещё один дурак-лгунишка. Сколько вас тут, убогих?!?

На Лиспе пишут операционные системы. И они на голову превосходили в своё время всех конкурентов, написанных на Си. Только вот железо дорогое было (Symbolics).

На Лиспе пишут компиляторы куда как более интересных и нужных языков чем C++.

На Лиспе пишут игры.

Десктопные приложения - задача для быдлокодеров, тут да, лиспу не место.

Вебсайты пишут на Лиспе.

Код для параллельных вычислений на кластерах, на Фортране с MPI, пишут программы на Лиспе.

Так что, гуляй, лох и лузер. Гуляй мимо.

anonymous
()
Ответ на: комментарий от anonymous

Ты быдло. Убей себя, очисть планету.

anonymous
()
Ответ на: комментарий от anonymous

Форту хорошо, у него вообще нет синтаксиса.

anonymous
()
Ответ на: комментарий от anonymous

Я готов буду принять Ваши тезисы, если они будут подтверждены соответствующей аргументацией. В данном случае хватит и примеров. Пока Ваши утверждения полны апломба, но не доказательств.

>На Лиспе пишут операционные системы. И они на голову превосходили в своё время всех конкурентов


Вы привели пример лишь одной специальной ОС, загнувшейся в силу якобы дороговизны оборудования. Вопрос: что мешало написать на лисп ОС общего назначения для распространенного железа.

>На Лиспе пишут компиляторы куда как более интересных и нужных языков чем C++.


Интересных - возможно. Это еще более укореняет лисп в академической почве. Но вряд ли можно назвать язык, более практичный и полезный, чем С/С++. Или Вы считаете бесполезным язык, на котором написаны ядро линукс, X Window и KDE/GNOME? Удалите, пожалуйста, со своего компьютера все написанное на С/С++. Это же бесполезные поделия написанные на бесполезном язычке.

>На Лиспе пишут игры.


Пожалуйста, примеры. Желательно сложнее, чем тетрис.

>Код для параллельных вычислений на кластерах, на Фортране с MPI, пишут программы на Лиспе.


Вот тут можно поверить с оглядкой. Но - примеры в студию.

>Вебсайты пишут на Лиспе.


Примеры.

>Десктопные приложения - задача для быдлокодеров, тут да, лиспу не место.


Превосходная аргументация. Удивляюсь, почему Вы ею не воспользовались в остальных пунктах? Вот только посмотрите, как здорово получается:

КИС - задача для быдлокодеров, тут да, лиспу не место.
веб-сайты - задача для быдлокодеров, тут да, лиспу не место.
игры - задача для быдлокодеров, тут да, лиспу не место.
ОС и компиляторы - задача для быдлокодеров, тут да, лиспу не место.

И зачем было тратить столько букв. В этом Вы напоминаете BSDшников. Если их потыкать моськой в отсутствие фич в BSD, они отвечают "а зачем оно? оно ненужно".

>Лисп давно уже в ентерпрайзе. И, да, он элитарен - вам, ламью, путь туда заказан.


"Лисп в ентерпрайзе" - звучит как "еврей в тундре". Будьте добры, очень хотелось бы взглянуть на архитектуру этого мифического еврея, как оно выглядит. Особенно в свете отсутствия для лисп, коннекторов к Ораклу например. Да, конечно, лисп под JVM может использовать JDBC, но тогда выходит что сам по себе лисп гроша выеденного не стоит.

>О, ещё один дурак-лгунишка. Сколько вас тут, убогих?!?

>Так что, гуляй, лох и лузер. Гуляй мимо.


Вы прекрасно демонстрируете свой уровень. Вследствие этого может отпасть желание с Вами дискутировать дальше. Но я все же продолжу, и более того, предложу Вам участвовать в эксперименте, предложенном мной, читайте выше. Этим самым Вы будете иметь возможность попробовать доказать это ваше "лисперы работают на порядки продуктивнее любого жабакодера", я даю Вам шанс

anonymous
()
Ответ на: комментарий от anonymous

Вы совершенно не знаете Лиспа, поскольку уже привели неверные факты. Лисп поддерживает ООП. Более того, Лисп позволяет программировать в разных парадигмах в зависимости от ситуации и личных предпочтений. Почитайте внимательно статьи, а затем уже делайте выводы. Можете посмотреть следующие интересные ссылки Очень интересная статья о реальном проекте на Лиспе http://www.nestor.minsk.by/sr/2003/07/30710.html Очень хорошая книга по Лиспу. Ее многие цитируют. Советую просто прочитать первую главу, чтобы понять, почему автор любит Лисп http://www.gigamonkeys.com/book/ интересное мнение и обсуждение http://www.rsdn.ru/Forum/message/1271544.flat.1.aspx http://groups.google.com/group/fido7.ru.lisp/msg/c4744ab3d44954ca

на одном из русскоязычных сайтов http://lisp.ystok.ru/ru/index.html

http://community.livejournal.com/ru_lisp

коммерческие версии Лиспа. Можете оценить области применимости на практике http://www.franz.com/ http://www.lispworks.com/products/lispworks.html

ну и вики с многочисленными ссылками http://en.wikipedia.org/wiki/Common_Lisp

а также для Net платформы http://www.codeplex.com/IronScheme

также http://planet.lisp.org/ http://common-lisp.net/

огромное количество ссылок http://www.cl-user.net/asp/bpF11/sdataQI5QzoU9RQUhDM==/sdataQo5Y-1Mh9urk также http://lisp.ru/

anonymous
()
Ответ на: комментарий от demoriz

> мда... чтото лисперы затихли :) походу ненайти достойных аргуменов кроме слюнобрызгательства...

мы очень заняты своими проектами, да и лениво уже миллионный раз отвечать на все те-же унылые потуги быдлокодеров, визжащих о своих комплексах.

anonymous
()
Ответ на: комментарий от anonymous

>"Лисп в ентерпрайзе" - звучит как "еврей в тундре".

Эээ... Абрамович?

Absurd ★★★
()
Ответ на: комментарий от demoriz

у противников липсы тоже покамест ничего, кроме соплей, не выходит ;) А должно было б хотя б ну хотя бы исходник интерпретера липсы на жабе той же, а то как-то неудобно: исходники лиспа на лиспе есть уже во флейме... А на С++ или жабе иходников лиспа - еще нету. Ужос.

anonymous
()
Ответ на: комментарий от anonymous

>мы очень заняты своими проектами, да и лениво уже миллионный раз отвечать на все те-же унылые потуги быдлокодеров, визжащих о своих комплексах.

Зачем столько негатива? Ваша позиция "лисп единственно правильный язык, остальные быдлокодеры" вызывает эмоцию равносильную умилению к маленькой собачке злобно тявкающей на слона. В итоге банальный холивар, в котором вам тяжело тягаться, ибо во многих самых распространённых сферах лисп не конкурент. Каждому языку своя ниша.

demoriz
()
Ответ на: комментарий от demoriz

кстати... извиняюсь совсем забыл... мои поздравления с юбилеем :)

demoriz
()
Ответ на: комментарий от demoriz

Ну, как бы этот аспект конкурентоспособности прекрасно осознается.

Например, из своей исторической пырспективы (васька-си-асм-паскаль-дельфи-срр-сишарп...-лисп/окамл/немерл/Д[наверняка под mono/.net первые 3](?) каждый раз, когда кода по моему мнению получалось слишком много, я пытался его упрощать и писать "киллер-библиотеки", которые "резко упростили бы жизнь и кол-во тыков по клаве". Это были и шаблонны, и просто вынесение+обобщение часто используемых кускофф кода. Нихира. Шарп стал многословным как и все предыдущие. Хибернейты и прочие припарки типа IoC отца демократии по его собственной имхе, не спасли а только подтопили еще глубже - код становится "многословным" :) Теперь я снова в поисках более выразительного языка. И вот уже определился с кандидатами - а они увы не мейнстрим. Что же, мне, сирому и убогому, делать-то? :))))

anonymous
()
Ответ на: комментарий от demoriz

>ибо во многих самых распространённых сферах лисп не конкурент

Вся фишка в том, что люди, которые хорошо знают лисп, не работают в распостраненых сферах. Во первых, это не интересно, во вторых зарплаты там не ахти какие. Совсем другое дело направление требующие в первую очередь очень солидной математической и предметной подготовки, вроде софта для оценки финансовых рисков, всякого рода экспертные системы или исследования в области обработки речи, изображений или искусственного интеллекта. Что очень востребовано в робототехнике.

Sun-ch
()
Ответ на: комментарий от Sun-ch

>Вся фишка в том, что люди, которые хорошо знают лисп, не работают в распостраненых сферах. Во первых, это не интересно, во вторых зарплаты там не ахти какие. Совсем другое дело направление требующие в первую очередь очень солидной математической и предметной подготовки, вроде софта для оценки финансовых рисков, всякого рода экспертные системы или исследования в области обработки речи, изображений или искусственного интеллекта. Что очень востребовано в робототехнике.

согласен но писавшие выше пытались замахнуться практически на все сферы, ОС игры вэб!!! Зачем? имхо заранее проигранный холивар. Повторюсь - каждому языку своя ниша...

demoriz
()
Ответ на: комментарий от anonymous

Ага, я давно заметил - именно Лисп вызывает у быдлокодерни наибольшую неприязнь. Очевидно, это следствие элитарности лисперов - быдло всегда боялось и не любило элиту.

Так что я не вижу никакого смысла отвечать на тявканье всякого быдла в адрес элиты, не стоит опускаться до уровня этих жалких убожеств.

anonymous
()
Ответ на: комментарий от demoriz

> Повторюсь - каждому языку своя ниша...

Ага. А ниша Лиспа - это реализация нишевых языков. Любых. Да, Лисп не единственный язык в этой нише, но на данный момент - самый мощный и развитый. Другие пока что только догоняют.

anonymous
()
Ответ на: комментарий от anonymous

> И вот уже определился с кандидатами - а они увы не мейнстрим.

F# семимильными шагами в мейнстрим топает. На него и надо смотреть.

anonymous
()
Ответ на: комментарий от demoriz

А в чем проблема c вэб? Люди уже продают решения для Web 3.0. в то время как всякие популяные фреймфорки даже и слышали про такое.

AllegroGraph RDFStore provides the solid storage layer for powerful reasoning and ontology modeling capabilities. Franz's semantic technology solutions are uniquely positioned to help bring your Web 3.0 ideas to reality.

http://agraph.franz.com/tbc/

И вообще CL - язык общего назначения. Стандартные интерфейсы типа CFFI позволяют использовать любые библиотеки, написанные на С/С++, пистоне руби и т.д.

Sun-ch
()
Ответ на: комментарий от Sun-ch

>Мультипоточность и поддержка приложений реального времени Ну в CL может быть и нема, но в диалектах.... ууууу ;)

anonymous
()
Ответ на: комментарий от ugoday

>> выработка и принятие стандарта CL-II

>А что, по-твоему, там должно быть?

Што, опять? [занудно] треды/потоки/локи/прочее касательно многопроцессорности, многопроцессности, масштабируемости, прочего параллелизма/вложенные ns/FFI/расширенный CLOS/... короче всё что для CL написано (и не написано) в последнее время, но чего нет в стандарте :)

yyk ★★★★★
()
Ответ на: комментарий от anonymous

>Ну в CL может быть и нема, но в диалектах.... ууууу ;)

Так мы про стандарт или про диалекты?

yyk ★★★★★
()
Ответ на: комментарий от Sun-ch

>Тот же sbcl на винде потоки не поддерживает?

слезь с больного мозоля!... 8-Е

скорее потоки в clisp-е доделают, чем sbcl для винды допилят. Когда-ж она сдохнет?!... :\

yyk ★★★★★
()
Ответ на: комментарий от yyk

Я уже clozure на win32 с тредами пробовал. Ничего пока серьезного, но треды вроде-бы работают. Не забываем также про ECL. На счет SBCL, да ситуация печальная.

anonymous
()
Ответ на: комментарий от anonymous

D:\Tools\Lisp\clozure\ccl>wx86cl.exe
  (WindowsX8632) Common Lisp Version 1.3-dev-r11183MS
? *features*
(:PRIMARY-CLASSES :COMMON-LISP :OPENMCL :CCL :CCL-1.2 :CLOZURE :CLOZURE-COMMON-LISP :ANSI-CL :OPENMCL-UNICODE-STRINGS :OPENMCL-NATIVE-THREADS OPENMCL-PARTIAL-MOP :MCL-COMMON-MOP-SUBSET :OPENMCL-MOP-2 :OPENMCL-PRIVATE-HASH-TABLES :X8632-TARGET :X8632-HOST :X86 :X86-TARGET X86-HOST :WINDOWS-HOST :WINDOWS-TARGET :WIN32-TARGET :WIN32-HOST :POWEROPEN-ARGET :32-BIT-TARGET :32-BIT-HOST :LITTLE-ENDIAN-TARGET LITTLE-ENDIAN-HOST :WINDOWS)
?

anonymous
()
Ответ на: комментарий от anonymous

D:\Tools\Lisp\clozure\ccl>wx86cl.exe
  (WindowsX8632) Common Lisp Version 1.3-dev-r11183MS
? *features*
(:PRIMARY-CLASSES :COMMON-LISP :OPENMCL :CCL :CCL-1.2 :CLOZURE 
:CLOZURE-COMMON-LISP :ANSI-CL :OPENMCL-UNICODE-STRINGS 
:OPENMCL-NATIVE-THREADS OPENMCL-PARTIAL-MOP :MCL-COMMON-MOP-SUBSET :OPENMCL-MOP-2 :OPENMCL-PRIVATE-HASH-TABLES :X8632-TARGET
:X8632-HOST :X86 :X86-TARGET X86-HOST :WINDOWS-HOST
:WINDOWS-TARGET :WIN32-TARGET :WIN32-HOST :POWEROPEN-ARGET
:32-BIT-TARGET :32-BIT-HOST :LITTLE-ENDIAN-TARGET
:LITTLE-ENDIAN-HOST :WINDOWS)
?

anonymous
()
Ответ на: комментарий от anonymous

clozure на win32 также мажет bootstrap'ить себя.

anonymous
()
Ответ на: комментарий от anonymous

>Я уже clozure на win32 с тредами пробовал. Ничего пока серьезного, но треды вроде-бы работают.

Посмотрим, но 1. лицензия, 2. порт очень свежий - багов будет больше чем в ECL.

>Не забываем также про ECL.

Да, треды есть. Скорости нет. И прочих багов/недоделок/неудобств вагон и маленькая тележка. Скорее уж SBCL допилят чем ECL :(

>На счет SBCL, да ситуация печальная.

И не говори...

yyk ★★★★★
()
Ответ на: комментарий от anonymous

>Ага. А ниша Лиспа - это реализация нишевых языков. Любых. Да, Лисп не единственный язык в этой нише, но на данный момент - самый мощный и развитый. Другие пока что только догоняют.

хмм... а что такое нишевые языки? Я не оспариваю главенство лиспа в своей нише... пусть он там свободно "рулит". Так же я вообще не оспариваю значимость лиспа как языка. Язык хороший и удобный для решения своих специфических задач. Теоретически даже на PHP можно написать серьёзное приложение с gtk или qt интерфейсом, но вот только что-то не стремятся разработчики это делать. Наверное из-за того что важно не ЧТО а КАК. В данной сфере PHP не конкурентно способен. Я всего лишь прошу не присваивать лиспу лавры языка всех языков.

demoriz
()
Ответ на: комментарий от demoriz

> Я всего лишь прошу не присваивать лиспу лавры языка всех языков.

you must be new here.

anonymous
()
Ответ на: комментарий от demoriz

> хмм... а что такое нишевые языки?

Проблемно-ориентированные языки.

> Я всего лишь прошу не присваивать лиспу лавры языка всех языков.

Из всех когда либо существовавших языков именно он, однако, более прочих этого достоин.

anonymous
()
Ответ на: комментарий от anonymous

> на сильно упрощенный ЛОРоподобный движок

Фу, как это мелко, низко и пошло. Великие лисперы прошлого плюнут на нас из своих могил, если мы начнём заниматься подобной хуитой.

Давайте напишем генератор сценариев для порнофильмов. В качестве оценки эффективности используем среднее время от начала просмотра до оргазма.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

>Из всех когда либо существовавших языков именно он, однако, более прочих этого достоин. Амбиции, комплекс маленькой собачки. Только как не тявкай выше головы не прыгнешь.

demoriz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.