LINUX.ORG.RU

[Лиспофлейм]Реализации common lisp и пакеты


0

0

Вот не пойму.

Вы хотите написать программу, использующую сторонние библиотеки в C, вы пишите

#include <foo.h> // препроцессор вставляет сдесь содержимое foo.h

В пистоне: import foo // Создается неймспейс foo, читается код из foo.py, все переменные/функции запихиваются в этот неймспейс.

В лиспе же вообще нет единой системы. Когда я сидел под дебианом в clisp'е там было что-то типа:

(require 'common-lisp-controller)
(common-lisp-controller:clc-require 'foo)

В sbcl для установки(!!) пакетов (вернее «систем», которые определяются с помощью defsystem) используется asdf-install:

(asdf-install 'foo)
(require 'foo)

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

Почему везде нельзя как в emacs (идеальный вариант):

(setq load-path (append load-path '(#p"/foo/bar" #p"/foo/buz")))
(require 'bar)
(require 'buz)

Или тупо (load «/foo/bar/buz»)?

Вопрос не совсем технический, поэтому в talks

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

> Педивикия:

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


О, там обычно только профессора пишут ;) CL в какой-то степени, по историческим причинам, поддерживает элементы ФП, но тот же JavaScript имеет не худшую поддержку для ФП, или сравни с тем же Lua.

Зайди на http://fprog.ru/ (там то точно имеются компетентные люди) и обрати внимание, что журнал называется «Практика функционального программирования. А также программирования на Common Lisp.» Т.е. ФП отдельно, а CL отдельно.

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

>Вы думаете, что лисп в бухучете применяется? Серьёзно? Нет, он там не нужен. Не его ниша. Хотелось бы только найти, где его ниша

Почему бы и нет?

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

Скажите, вы не знаете конкретные случаи использования данных продуктов? Какова их доля по сравнению с не-lisp решениями? Интересна информация по этой стране (России)

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

> Скажите, вы не знаете конкретные случаи использования данных продуктов?

Не моя область.

Интересна информация по этой стране (России)


В Нашей стране есть нефть. Думаю, что все хорошо знают, что такое IT в Нашей стране.

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

> на том, что флагман в этих нишах несколько не лисп.

И? Озвучьте всю логическую цепочку пожалуйста. Путь флагман это PHP, но если я могу решить задачу быстрее и проще на CL, чем на PHP, то почему это CL сосёт? Если конкретно мне как веб-разработчику CL даёт примущества, так как большинство используют PHP, то путь PHP остаётся «флагманом».

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

> Мы живём в страшном мире, да!

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

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

> В Нашей стране есть нефть. Думаю, что все хорошо знают, что такое IT в Нашей стране.

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

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

>Про документацию. Про Си/питон итд книг вагон и маленькая тележка. По коммон лиспу из стоящего только pcl и cltl

Надо только добавлять, что по си/питону/с++/яве и тп книг вагон и тележка, но действительно нормальной литературы так же единицы.

По cl есть еще onlisp, ну это если не смотреть менее распространенных книг, которые легко найти на амазоне.

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

>Наверняка они самый пропеареный и у всех хорошо работающий софт выбрали.

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

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

Смешно, опять же. Почему-то лисперы только и говорят о «некомпетентности» других и о «преимуществах»? Почему они сами не возьмут, и не замянят пехапе лиспом? Подадут пример. А то всё ждут, когда кто-то будет использовать эти «преимущества». А никому не надо, у всех есть пехапе, который просто работает.

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

> Причем бухучет и в компаниях по добыче нефти есть. Наверняка они

самый пропеареный и у всех хорошо работающий софт выбрали.


Я работал в этой отрасли. Там очень простая логика. Чем дороже софт - тем больше откаты. Вот и всё. Я помню, что российская конференция по документум собрала больше народа, чем мировая. Нет, там лисп не нужен, это точно...

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

> http://www.linux.org.ru/jump-message.jsp?msgid=4777446&cid=4778831

продвинутый пэхэпэшник возьмет денег меньше за работу, сделает быстрее и качественней( это не намек на archimag - он может, но пэхэпэшник этим занимается с утра и до ночи - значит имеет фору в виде наработок и опыта ), плюс после него проект можно доделать самому или отдать другому, а «практичных» лисперов для доработки найти сложнее - если судить, например, по ЛОРу, archimag тут явно в меньшинстве

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

Можете подкрепить свои слова? Чисто из любопытства и для самообразования. Интересно. Ну там код какой-нибудь. Если можно

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

> продвинутый пэхэпэшник возьмет денег меньше за работу

Смотря о какой работе идёт речь. Большинство работ, выполняемых на PHP, конечно, не стоят вообще того, что бы за них взялся уважаемый себя разработчик ;) Но если речь идёт о проектах, которые обладают высоким уровнем сложности (а такие есть в веб), то тут ситуация совершенно иная.

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

> если я могу решить задачу быстрее и проще на CL, чем на PHP, то почему это CL сосёт?

могу я взглянуть на cl-ый форум? cms? парочку галлерей? etc? не линки на «продам» или «howto install», а нечто работающее, что можно посмотреть в действии.

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

> Но если речь идёт о проектах, которые обладают высоким уровнем сложности (а такие есть в веб), то тут ситуация совершенно иная.

на практике такая же - лисп представлен единичными проектами

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

> речь идёт о проектах, которые обладают высоким уровнем сложности

можно взглянуть на небольшое описание сложности?

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

> XUL + Javascript - это не Lisp

Мы это уже обсуждали, это ведь только верхушка. Потом, в данный момент ситуация стала интереснее, поскольку я стал использовать cl-closure-template для серверных и клиентских шаблонов (вместо XSLT). Благодаря чему произошло потрясающее упрощение кода, в первую очередь, кода на JavaScript. Так что, Common Lisp играет ключевую роль и на клиенте.

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

> но показываешь то ты именно ее :)

Ну, знаешь, трудно сделать скринкаст, демонстрирующий работу серверной части :) В блоге я регулярно пишу о веб-разработке на CL, просто скринкастов у меня больше нет.

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

> В лиспе есть генераторы, карринг?

В некоторых есть :P

naryl ★★★★★
()

>почему реализация берет на себя установку пакетов, контроль путей к пакетам итд.?

Реализация на себя ничего не берет. ASDF-INSTALL - это сторонний проект, который SBCL распространяет вместе с компилятором.

Почему установку не доверить, например, пакетному менеджеру операционной системы?

Можно и даже нужно. В gentoo так и сделано. Что касается других ОС - тут ряд проблем нетехнического плана.

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

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

это не отмаза, а факт. что-то более-менее адекватное в IT только в МСК, ну мб еще Питер. Вы видели бухучет в этой вашей «нефтяной компании»? я видел. в одном, более мелком филиале, 1С (слава богу, по сравнению с:), в другом, более крупном и по идее денежном — написанная х знает кем прога на делфях, еле работающая, глючащая, малофункциональная. и это не только в бухучете. а в некоторых отделах до сих пор юзаются древние проги на досовом фокспро и волшебных DBF-ках... или на MS Access...

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

> что-то более-менее адекватное в IT только в МСК

и то не факт, а предположение =)

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

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

Что-то не очень видно.

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

> Его бы ещё для реальной работы как-нибудь приспособить - вообще был бы золотой язык!

Я надеюсь, под реальной работой ты понимаешь что-то более серьезное, чем бухгалтерии АСУчивать и склады автоматизировать? Если так, то очень даже давно приспособили.

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

>Как смотрите?

А ты как? Мне хватило cliki.net и common-lisp.net. И дохлых ссылок на давно исчезнувшие или успешно замененные продукты в галерее клиентов franz.com.

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

> Ну, дык, http://lisper.ru/ - занимаюсь им время от времени

убогонько, да. чем оно лучше того же phpbb? кстати, давно лабаешь? во сколько ты оцениваешь то, что есть сейчас?

еще примеры есть?

http://archimag-dev.blogspot.com/2009/11/made-with-common-lisp.html - скрин и скринкаст моего текущего приложения.

что это? что скрывается с обратной стороны в плане логики?

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

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

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

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

> 1С (слава богу, по сравнению с:), в другом, более крупном и по идее денежном — написанная х знает кем прога на делфях, еле работающая

1С - вполне себе вариант. Ну а проги на делфях - это не только в нефтянных компаниях) Увы они так и остануться, ибо дешево

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

Щас скажут, что ты якобы гуглить не умеешь) А вообще поддерживаю. Есть много инфы, но она не систематизирована. Вот и ищешь, что тебе надо целый час. Бывает, что и вообще нет ничего

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

А на sf.net около >80% мёртвых проектов, из чего можно сделать вывод, что на C++ никто не пишет и он не нужен.

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

А ты как? Мне хватило cliki.net и common-lisp.net. И дохлых ссылок на давно исчезнувшие или успешно замененные продукты в галерее клиентов franz.com.

Если провести аналогию, то Common Lisp - это выставка Bugatti, прошедшая этой зимой в Брюсселе. Там массово производившихся машин вообще нет, а некоторые вообще в количестве двух штук были сделаны. Вы же аппелируете к массовости, т.е. к складам АвтоВАЗа, забитым говном. Лисп помогает раскрыться творчеству, предоставляя лучшие в своём классе технические решения. На массовую культуру плевать. Чтение спецификации Common Lisp - это книга откровений, от которых шестерни в голове после массовой культуры клинит.

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

> Масса отвращения от сырых, слабосовместимых между собой библиотек.

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

Как бонус - полное отсутствие документации к ним.


Не везде, см. например http://weitz.de/. Во-первых, это прежде всего проблема мусора, о котором я уже говорил несколько раз тут. Во-вторых, очень часто документация не даёт особо ничего для «продвинутых», ибо читать код часто просто проще (я часто вместо Hyperspec просто смотрю исходники SBCL, благо, emacs-w3m запускается несколько дольше, чем открывается исходный код нужной функции), поэтому многие особого рвения по этому поводу и не проявляют.

Короче, те же ощущения, что при попытке разобраться в кривом

легаси коде, написанным в горячке студентами.



Значительная часть мусора именно это из себя и представляет :) Мусором я называю пакеты, написанные неизвестно кем во время душевного порыва к изучению CL. Его много. Хороших пакетов мало, но об это уже было сказано выше.

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

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

это ты щас в самом деле не уловил иронии или просто тролишь? ;)

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

> Если провести аналогию, то Common Lisp - это выставка Bugatti,

только это ваше Bugatti без костылей в виде обвязок и сторонних библиотек( компонентов от ВАЗа ) даже с места сдвинуться не может

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