LINUX.ORG.RU

Приходилось ли вам писать на Лиспе?


2

2

Ну, что ж, в Development так в Development, хотя Лисп давно перестал быть мемом одного лишь Development'а (и даже одного ЛОРа). Итак, сабж!

[ ] Да, профессионально и за деньги
[ ] Да, just for fun и для самообразования
[ ] Да, участвовал в opensource-проекте
[ ] Да, пилил скрипты Emacs/GIMP/AutoCAD/Lilypond etc.
[ ] Да, в рамках образовательной работы (лаба, курсовик, диплом)
[ ] Да, в рамках академической работы (диссертация, статья, монография)
[ ] Да, мне сказали, что лисперов любят девушки
[ ] Нет, но собираюсь
[ ] Нет, и не собираюсь
[ ] Вообще-то я Джон МакКарти, а вы кто такие?
[ ] в Советской России Лисп пишет на тебе!

Приветствуются развернутые ответы и верифицируемые пруфлинки. Например, на какую фирму работали, в каком конкретно opensource-проекте участвовали, какая была тема научной работы, помогло ли с девушками, и тому подобное. INB4 буквоедов: под «лиспом» подразумеваются все языки семейства: Scheme, CL, Clojure и прочие.

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

> И где тут читаемость? Где там проверка на пустой текст? Оно же не читаемо. А места занимает столько же.

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

Я вот, к примеру, не могу читать на финском, но финский язык - «читаемый»

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

> Приведите, пожалукйста, весь текст на Лиспе вместе с вашим xtree.

реквестирую весь текст на С#, вместе с вашим System.Xml;

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

> Ну если так всё хорошо, что же Лисп такой редкий. Может быть архитекторы ПО не знают про ЛОР? И не читают сцылки «Лисп: история успеха».

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

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

> Можно какой-нить парсер написать для эксперимента.

Можно. У меня есть парсер формата Dokuwiki. Написан так себе, всё никак не найду времени для рефакторинга, так что думаю желающие легко меня превзойдут. У меня там 400 строк кода, время разработки - около 8 часов. (для справки: в оринальной PHP-версии парсера около 900 строк).

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

и в этом его сила

пример:
10 лет назад пол грехем и компания
написали на лиспе веб сервер и движок
для создания онлайновых магазинов.
я слышал что yahoo потом все это
переписал на плюсы и php. (т.е. на языки
с понятным синтаксисом).
Но это был downgrade!!!
реализация на лиспе работала
на однопоточном лиспе. Т.е. по сути
они реализовали один первых на асинхронных серверов,
который уже тогда был готов (теоритечески) решить C10k problem.
По словам грехема они смогли так спрятать эту асинхронность
за макросами, что в коде логики приложения не было деталей реализации
работы веб сервера.

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

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

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

>> Можно какой-нить парсер написать для эксперимента.

Можно.


Ещё можно СУБД написать. Игру типа Квака или MS Flight Simulator. Да что там игры! Сразу под них и ОС на Лиспе и ПХП. Давайте уж, пишите, ЛОР будет внимательно следить за ходом поединка. Потом я лично посчитаю количества строк в программах и выскажу своё компетентное мнение анонимуса что же круче Лисп или PHP.

И не надоело количеством строк меряться? Давайте посчитаем количества строк в ядре Линукса. У Микрософта спросим сколько там строк в ядре. И тогда человечество наконец-то узнает ответ на главный вопрос современности, занимающий лучшие умы человечества и не находящий до сих пор ответа: Linux или Windowz ???.

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

Если это такие 400 строк как в примере выше, то лучше не надо.

Reset ★★★★★
()

ВНЕЗАПНО, технический вопрос

Тут спорили сторонники и противники подхода сплошных префиксных операторов. А можно ли написать макрос, которые инфиксные арифметические операции преобразует в префиксные?
Пример:
((1 + (f 2)) * (3 + 4 + (g x) + (5 * (h y 6))))
(* (+ 1 (f 2)) (+ 3 4 (g x) (* 5 (h y 6))))
Ведь макросы достаточно мощные?

P.S. Обратная задача похоже проста
P.P.S. Я новый анонимус

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

> реализация на лиспе работала на однопоточном лиспе. Т.е. по сути они реализовали один первых на асинхронных серверов, который уже тогда был готов (теоритечески) решить C10k problem.

3 несвязанных бездоказательных утверждения в одной фразе. Отличный пример рекламы Лиспа %)

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

>>В лиспе «отсутствие синтаксиса» компенсируется нагромождением неочевидных функций.

и в этом его сила

...


плюсы и php. (т.е. на языки с понятным синтаксисом).



Защищая Лисп, анонимус тем не менее признаёт, что синтаксис у Лиспа непонятный, а у Плюсов и ПХП - понятный. Какая-то неадекватная защита Лиспа.

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

>я не могу использовать open-source библиотеки, которые я разрабатываю или когда-либо патчил

вместо срача на лоре, лучше бы сделал обзор либ для CL по состоянию на 2010, разделив по категориям - расширение стандартного языка( iter и т.д.), переносимая абстракция доп. фич реализаций( многопоточность, файлы, ио, юникод, моп и т.д.) и остальное( специализированные либы - gtk,xml,ogl и т.д). Собственно первые два - современная среда CL, без этого его обсуждать как-то бессмысленно.

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

Анонимус, ты демонстрируешь крайнюю недалекость ума, кончай уже позориться, даже мне за тебя стыдно.

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

я много писал на с с++ и ява
да. для меня их синтаксис понятен.

я не писал на php и перле, поэтому их синтаксис
мне не понятен.

а синтаксис у лиспов просто ДРУГОЙ.
и без емакса мне было бы сложно
читать и писать на лиспе

anonymous
()
Ответ на: ВНЕЗАПНО, технический вопрос от anonymous

>А можно ли написать макрос, которые инфиксные арифметические операции преобразует в префиксные?

Можно. Равно как и заменить скобки отступами/переводами строк. Гугл в помощь. Регулярно на c.l.l вылезает очередной «новообращённый» с радостной для всех вестью - «Я сделал это!», ну или как минимум с аналогичным твоему вопросом. Потом подобные желания проходят, как и прочие «болезни роста»

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

у меня нет исходников их viaweb.

может я вопроса не понял?
в чем сложность диспатча на лиспе?

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

> Можно

Понятно

...«Я сделал это!»...


Молодцы!

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

>для справки: в оринальной PHP-версии парсера около 900 строк
Как ты надоел со своим строко-число-дрочерством. Повторяю в пятый раз - это не есть показатель качества или читабельности кода.

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

> Как ты надоел со своим строко-число-дрочерством.

Повторяю в пятый раз - это не есть показатель качества

или читабельности кода.



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

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

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

Ну зчем так примитиво. Пример диспетчеризации... Не мелочитесь! Сразу пишите веб-сервер. Неужели Вы один не можете написать веб-сервер на Лиспе? Где же мощь Лиспа? Ваш сервер (и Лисп!) же популярным станет, nginx останется для истории, его же неудачник писал на примитивном С.

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

Неужели Вас не прельщает подобная преспектива торжества Лиспа?

anonymous
()

[Х] Нет, и не собираюсь

// А кто такой Джон МакКарти?

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

>А разве я что-то говорил про качество или читабельность кода?
А зачем тогда эти цифры указывать? Погазироваль лужи?

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

Во-первых, твои домыслы что я подозреваю никого не интересуют. Притупи свой ЧСВ.
Во-вторых, речь шла не о размере кода, а о количестве строк.

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

Да, мы заметили это на perl'е, где ясный и понятный код 7-8 строк, а этот же код в лисп-стиле 2-3 строки.

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

Зато наверное как приятно себя чувствовать что «я, лиспер, не такой как все. Все вокруг лохи и пишут на галимой попсе типа Жабо-ПХП, а я на редком элитарном Лиспе».

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

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

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

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

> Бесполезный биоматериал, который без помощи даже в топке сгореть не сможет

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

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

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

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

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

> Если тебе не лень соревноваться напиши сам код делающий что-то полезное

Что-то полезное - это налабать формочку, привязать ей к БД, развесить валидацию и пойти в кассу за деньгами за эту тяжелую, но нужную работу. А матан всякий просто не нужен. Не бывает сложного программирования в реальной жизни.

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

Приведите, пожалукйста, весь текст на Лиспе вместе с вашим xtree.

Балбес, это библиотека для работы с xml. Приведите тогда уж весь код платформы .NET.

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

> Балбес, это библиотека для работы с xml. Приведите тогда уж весь код платформы .NET

В дистрибутиве из коробки есть? Нету? Жульничество. В коде на C# только стандартные фичи использовались.

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

>кроме сквернословия и детского поноса родить эти недочеловечешки ничего не могут

Мне кажется настало время mv продемонстрировать свою полезность человечеству. Что конкретно ты сделал полезного в последнее время? А то кроме гадостей ничего не слышно от тебя.

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

Да вот и я удивляюсь - 50 лет как лиспаки не переводятся. Секта, такая секта.

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

>> Пример чего, диспетчерезации?

Конечно.


Вам какой именно? Можно, например, сравнить cl-routes с соответствующим функционало в Django или RoR. Или что вы предлагает?

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

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

Жалкий анонимушка и термодинамику с химией не знает. Ты себе на кусок хлеба вообще чем тогда зарабатываешь? Дворы метёшь или кирпичи ложишь?

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

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

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

Мне кажется настало время mv продемонстрировать свою полезность человечеству. Что конкретно ты сделал полезного в последнее время?

Только после вас.

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

> Не мелочитесь! Сразу пишите веб-сервер

Их достаточно много разных. Что бы убедиться можете посмотреть
[code=bash]curl -v http://lisper.ru/ > /dev/null[/code]
Подсказка: смотреть поле «Server». Никаких apache, nginx и т.п. на lisper.ru не используется, только чистый лисп.

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

>http://hoytech.com/antiweb/

Лисп не только редкий язык, но и серваки на нём тоже редкие. Значит тупые не только программеры, но и админы. Не хотят пользоваться совершенством. Все вокруг дебилы. Но если в нём чего-то не хватает, так допишите! Мощь Лиспа позволит Вам это сделать за 1-2 дня.

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

> Зачем ты участвуешь в демонстрации примеров заведомо простых,

в пять строчек, которые не показывают мощи абстрагирования?


Потому что в Common Lisp есть не только мощь абстрагирования и можно обрабатываться текст по крайней мере хуже чем на Perl, а XML чем на C# (попутно выяснив, что программисты на C# ничего не смыслят в xml). Все мои более менее крупные проекты лежат на github, некоторые из них реализуют функциональность известную и в других языках, можно было бы сравниват их, тривиальные задачи предлагал не я.

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