LINUX.ORG.RU

Ни того ни другого не знаю, но уже давно хочу изучить Common Lisp. Судя по тому что я - слышал Scheme это как Басик - только для обучения ФП.

creepnee ()

Для обучение лучше безусловно схема. Сравни, например, SICP и PCL. А если нужно создать что-то полезное, тут уже CL заруливает.

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

> И скучный

да - клоун тут пока только один

anonymous ()

Я бы не стал их сравнивать.

Scheme - таки больше академический язык. Мне нравится его простота и однородность.

Но для серьёзных задач я предпочёл бы таки CL.

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

Сравнивать их имеет смысл. Это всё же довольно разные по своей идеологии языки. Imho, схема развивается в чисто функциональном направлении, а CL идёт в сторону метопрограмирования и CLOS. Т.е. одни и те же действия схема провоцирует делать через рекурсивную чистую функцию, а CL --- через loop и подобные макроизвращения.

ugoday ★★★★★ ()

Scheme - Lisp 1(что создает неслабые неудобства в сколь-нибудь крупных библиотека/приложениях), в голом стандарте практически нихрена нет, реализации идут кто во что горазд, вменяемой переносимости, соответственно - ноль. Нет ни CLOS, ни сигнального протокола, ни ридер-макросов, ни компилер-макросов, ни специальных переменных, ни UNWIND-PROTECT(aka Finally, aka RAII), ни опциональных деклараций типов(как и вообще деклараций), ни компилятора в составе рантайма, ни даже динамических массивов, зато есть непонятно нахрен нужные продолжения, кастрированная макросистема(«гигиена» - можно подумать, программисты на схеме столько срут, что не могут за собой все убрать самостоятельно) и отдельное значение для False(которое не равно NIL - соответственно при работе со списками сплошные неудобства).

Love5an ()

Схема лучше! Для неё есть бесплатные графические IDE, а для коммон лиспа из бесплатных есть только обрезанные, где даже приложение скомпилировать нельзя, либо привет из прошлого тысячелетия под названием емакс.

Ну есть ещё плагин для Эклипс, но нафиг такой язык нужен, уж лучше сразу писать на джаве, для которой Эклипс и создавался, и лучше всего поддерживает.

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

> Нет ни CLOS, ни сигнального протокола, ни ридер-макросов, ни компилер-макросов, ни специальных переменных, ни UNWIND-PROTECT

1. Если всё это добавить, то получится CL, а CL у нас уже есть.

2. Для обучения этого всего не надо.

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

Который заруливает всех и вся.

Ага, в стандартной поставке нифига нет, а примеры с emacswiki половина не работает. Крута, прогресс, нанотехнологии, вся фигня.

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

> либо привет из прошлого тысячелетия под названием емакс.

Вот можно подумать ты сам из другого тысячелетия.

P.S. emacs ещё тебя переживёт.

P.P.S. А есть тут джедаи осилившие Acme?

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

Кого это, простите, сношает?

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

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

Х.З. не спец по паровозам. Мы тут вообще-то про emacs говорим, а не желдортехнику.

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

Mv своим примером зазывает антилисперов в тред, тогда начнётся срач и через то реклама лиспа. На одной теме scheme vs CL далеко не уехать.

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

Это такая псевдо-анти-лисповая кампания, чтобы новичков отвернуть? :)

Щас ещё ANSI Common Lisp на русском издавать начнут, и от желающих лопатой не отмашешься. Пока не поздно, нужно молодёжи открыть глаза на реальное положение вещей. Не дай бохх кусок хлеба с маслом и икрой отберут.

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

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

...ибо кусок - один на всех лисперов.

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

...ибо кусок - один на всех лисперов.

Вот! Понимаешь! А то развели тут рекламу: самый мощный, самый лучший... Как будто lispjobs резиновый.

mv ★★★★★ ()

> Давайте поговорим на тему что лучшу Scheme или Common Lisp и почему?

Давайте не будем.

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

Я только разбираться начал. Разобрался с elisp'ом. Поэтому и спрашиваю.

Zodd ★★★★★ ()

Моя система живёт со схемой (в виде guile) и без CL. Субъективно CL мне не особо нужен.

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

>> ...ибо кусок - один на всех лисперов.

Вот! Понимаешь! А то развели тут рекламу: самый мощный, самый лучший...

Хм... а как насчет старого чудо «накормить 5к человек одним куском хлеба с икрой»? Я думал, что после всех вещей, которые изобрели лисперы, такое им раз плюнуть?

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

> Нет ни CLOS, ни сигнального протокола, ни ридер-макросов, ни компилер-макросов, ни специальных переменных, ни UNWIND-PROTECT(aka Finally, aka RAII), ни опциональных деклараций типов(как и вообще деклараций), ни компилятора в составе рантайма, ни даже динамических массивов

зачем это всё, когда есть продолжения и нормальная система модулей, а не примитивные пакеты?

сейчас ещё придёт Архимагъ и расскажет тебе про метапрограммирование в CL (точнее процитирует цитату).

а мне наверное расскажет про продолжения... =/

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

Хм... а как насчет старого чудо «накормить 5к человек одним куском хлеба с икрой»? Я думал, что после всех вещей, которые изобрели лисперы, такое им раз плюнуть?

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

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

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

Но reader-macros, compiler-macros, декларации, компилятор в рантайме, динамические массивы(в т.ч. гомогенные), и, особенно, unwind-protect то как?

а не примитивные пакеты?

Для модульности же есть ASDF. А пакетов хватает для тех целей, для которых они предназначаются(коллекции символов)(не, ну круто конечно было бы иерархические пакеты, да).

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

мы напишем ОС на лиспе, с лямбдами и скобками

Уже одну написали: емакс. Спасибо, больше велосипедов с мехлопатой и треугольными колёсами не надо.

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

>сейчас ещё придёт Архимагъ и расскажет тебе про метапрограммирование в CL

Пусть лучше посмотрит как у меня метапрограммирование используется в Virgil:
http://github.com/Lovesan/virgil
http://love5an.livejournal.com/347467.html
http://love5an.livejournal.com/347754.html

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

> Все мы понимаем, что лисперы только выёживаются, а браузеры до сих пор на C++ пишут, и не чешутся.

Епт, да ты решил стать самым толстым эльфом ЛОРа O_o

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

Да уже почти готово всё. Ядро осталось только.

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

Епт, да ты решил стать самым толстым эльфом ЛОРа O_o

Я перестал ездить на MTB, отказался от мяса и пива, уезжаю из Чехии.

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

>Ну хорошо, пусть будет ядро ОС.

Такое ядро не нужно.

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

>Для обучение лучше безусловно схема. Сравни, например, SICP и PCL

Ничего не безусловно. Я читал SICP, выполняя упражнения на CL ибо лень было стаить интерпретатор схемы. Отличающиеся идентификаторы угадывал.

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

> можно реализовать нечто вроде CLOS(которая будет дико тормозить)

не заметил тормозов (в сравнение с дефолтной PLT) в Swindle

сигнальный протокол

с продолжениями он в принципе не нужен, ибо полностью ими заменяется

динамические переменные

и так есть во многих реализациях, в том же PLT например

если поизвращаться

и никаких извращений я не заметил

Но reader-macros

система модулей PLT позволяет настраивать readtable для каждого модуля отдельно

compiler-macros, декларации

теоретических проблем с этим нет.

компилятор в рантайме

инкрементальная компиляция не принята в Схемах

Для модульности же есть ASDF

входит в стандарт? =)

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

Трава и водка... это многое объясняет %)

Давай будем реалистами и скажем честно: лисп никому не нужен, не был нужен, и никогда не будет.

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

Сравни подачу материала с тем, как это делается в PCL. В последнем первые пол книги в каждом разделе куча оговорок типа «это вот так, потому что это так, а что это зачем и почему я объясню позднее». В СИКПе же такого и близко нет, объяснили порядок редукции лямбда-термов и попёхали программить в полный рост.

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