LINUX.ORG.RU
ФорумTalks

Эрик Рэймонд неосилил лисп

 , , ,


0

7

Для (NOT NIL):

«CLOS уродская куча уродства», — сказал Эрик Рэймонд, после того, как обламался переписать свою тормозящую поделку с Python на Common Lisp, решив таким образом ускорить выполнение с помощью нативно-исполняемого кода.

Будучи, по его словам, гуру по лиспу в 80-х, он стал искать альтернативу и (внезапно, sic!) открыл для себя SBCL — одну из самых быстрых и популярных реализаций Common Lisp. До этого, по его признанию, после 80-х он писал исключительно только для Emacs-lisp. Для него это стало невероятно интересным снова погрузится в мир лиспа изучая мануал SBCL. Думая, что переписывание с Python на Common Lisp будет легким и быстрым, вскоре он столкнулся с отличиями обьектной системы CLOS от объектной системы Python, и вследствие этого, невозможностью перепистаь свою поделку без измениния ее архитектуры.

Он также пожаловался на отсутствие метода дампа объекта, аналогичного str() в питоне, и не смог найти его аналога (что уже подсказывает низкий уровень его владения CL) в лиспе. Ему намекнули на реализацию метода PRINT-OBJECT, но он привел какие-то мутные доводы, что это не то, хотя это то, что ему нужно было в первую очередь. Ну да ладно, недоучил — бывает.

Сам лисп и идея мультиметодов Эрику, по его словам, понравились, но не понравилась их реализация в виде CLOS.

Конец истории поучителен — Эрик соптимизировал алгоритмы в своей поделке, оставаясь на питоне, и производительность возросла в разы.

Для (NOT Т): http://esr.ibiblio.org/?p=4861

★★

Реквестирую сравнение CLOS'а с какой-нибудь традиционной объектной системой (хотя бы явовской).

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

Хе-хе, так и знал, что кто-нибудь прицепится к слову «традиционной».

CARS ★★★★
()

Это он Battle for Wesnoth хотел на лисп портировать?

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

лошара.

Только в лицо ему это не говори:

имеет чёрный пояс в тхэквондо[2], он неоязычник[3], политический анархист[4] и выступает за право носить и использовать огнестрельное оружие[5].

(с) википедия

true_admin ★★★★★
()

Ему намекнули на реализацию метода PRINT-OBJECT

“The function print-object is called by the Lisp printer; it should not be called by the user.” Но вызвать никто не запрещает, да.

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

true_admin> имеет чёрный пояс в тхэквондо

Фигня.

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

Можно так, например:

(write obj :readably t)

Смотреть на *print-readably*.

gensym ★★
() автор топика

вскоре он столкнулся с отличиями обьектной системы CLOS от объектной системы Python, и вследствие этого, невозможностью перепистаь свою поделку без измениния ее архитектуры.

Собственно что ему помешало реализовать объектную систему питона на лиспе?

ziemin ★★
()

Конец истории поучителен — победил Python

Fixed. Что еще раз доказывает, что питон один из не многих языков, которые полностью удовлетворяют современные реалии.

Siado ★★★★★
()

А как насчёт clisp? Чем оно хуже sbcl?

Xenius ★★★★★
()

Конец истории поучителен — Эрик соптимизировал алгоритмы в своей поделке, оставаясь на питоне, и производительность возросла в разы.

Т.е. был говнокод </trololo>

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

Python победил Лисп в удобности и очевидности. Что и требовалось доказать.

Питон проигрывает на _больших_ проектах (недоREPL, производительность и выразительность), я сам на питоне скриптоту пишу. IMHO.

gensym ★★
() автор топика

Это всё потому, что надо было писать на няшной сишечке™

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

Тема производительности раскрыта по ссылке %)

Ну типа того, но на лиспе все равно было бы быстрее ;-)

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

А лисп выигрывает?

лисп всегда будет выигрывать у питона, который недолисп. Очевидно же ;-)

gensym ★★
() автор топика

Лисперы такие лисперы. То они радуются, что университет Карнеги-Меллона отказался от ООП в пользу функциональщины, то у них пердак пригорает, что Эрик Рэймонд не оценил божественный CLOS. А я ещё удивлялся, когда сказал друзьям о том, что мне нравится Лисп, а они посмотрели на меня как на дебила и спросили: «небось ещё на ЛОРе сидишь?».

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

посмотрели на меня как на дебила и спросили: «небось ещё на ЛОРе сидишь?».

И тут ты покраснел и промямлил «не, поцаны, вы чо»? %)

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

REPL

вот не надо.. ipython - вполне себе. я им даже bash подменял в системе как-то

производительность

cython поможет в узких местах. если, конечно, не архитектурные проблемы.

выразительность

это ты про лямбды? лямбды и неконтролируемый поток сознания - не нужны.

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

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

fix

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

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

Вот и получается: выкидываем из лиспа все «ненужное», и получаем недолисп — питон.

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

выкидываем из лиспа все «ненужное», и получаем недолисп — питон.

Получается наоборот: грузим Python и получаем"перепитон" - лисп %)

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

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

Fix.

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

Вот вбухать бы столько же усилий в CL, сколько вбухали в пайтон!

А сколько в пистон вбухали? Это не ява, в него бабла особо никто не вливал. Все что есть — честно заработано.

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

А сколько в пистон вбухали? Это не ява, в него бабла особо никто не вливал. Все что есть — честно заработано.

дело не в бабле, а в батарейках

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

дело не в бабле, а в батарейках

Ну так их пилят, потому что людям нравится синтаксис пистона. А тебя послушать, так людей надо принуждать колупаться в говне, потому что нескольким фрикам это кажется более «правильным».

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

сократить огромное количество времени разработки

согласен. быдлокодить на нем одно удовольствие. главное потом сам код не запускать на чем-то дохлее атлона 2.

загрузить простаивающие современные компьютеры полезной работой

ты забыл взять слово «полезной» в кавычки. по нормам русского языка, да и не только, слова, написанные в переносном смысле, заключаются в кавычки.

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

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

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

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

(+ 2 3) ты считаешь удобней и читабельней, чем 2 + 3? Зачем ты врешь себе и вводишь в заблуждение окружающих?

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

Непонятно как и кого он удовлетворяет и, главное, чем. Но это и не важно. Однопоточная нераспаралеливаемая хрень. Которую пихают во все щели, в том числе и в пользовательский интерфейс. А потом удивляются, чего это на четырех-ядрерном i7 все тормозит!

hibou ★★★★★
()

«CLOS уродская куча уродства», — сказал Эрик Рэймонд

Все правильно сказал. Вместо нормальных мультиметодов слепили какую-то монстрообразнуюю ОО каку.

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

Однопоточная нераспаралеливаемая хрень. Которую пихают во все щели, в том числе и в пользовательский интерфейс. А потом удивляются, чего это на четырех-ядрерном i7 все тормозит!

расскажи это авторам blender, у них почему-то все работает как надо

wota ★★
()

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

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

Не лисп он не осилил, а CL.

Я хотел заголовок — по-желтее ;-)

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

расскажи это авторам blender, у них почему-то все работает как надо

они поди всю ЦПУ-баунд логику в сишные дллки засунули, а потом из питона ручки дергают

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

чтобы esr прочитал весь стандарт ANSI Common Lisp

прежде чем хаять, мог бы и прочитать всю спеку

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

ziemin> Собственно что ему помешало реализовать объектную систему питона на лиспе?

То, что таковая уже реализована в питоне.

Quasar ★★★★★
()

LISP - это на слэнге специфическое произношение queer (faggot) публики (гуглите:))).

Функцианальщина в реальной жизни никому не нужна.

поделке

Даже педон в НЕ-поделках не нужен.

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