LINUX.ORG.RU

clojure после common lisp - насколько омерзительно и в чём именно?

 , ,


2

2

Всё ещё думаю о возможности заняться разработкой на clojure. Но ява же тормозная - меня бесит скорость сборки. Вот боюсь, как бы кложа не оказалась слишком уж тормозной.

Расскажите о своих ощущениях (из серии «собираюсь жениться - отговорите»).

★★★★★

Отговаривать не буду. В кложе тоже интересно. Но после кложи когда за CL обратно садишься, чуть ли волосы не сдувает от скорости.

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

Меня она просто достаёт, как таковая. Вот ЯОС собирается за 2 минуты, запускается за 5 секунд. На Дельфи тоже сборка летает. SBCL пересобирается ЕМНИП 5-7 минут. А рабочий проект на Яве собирается минут 15, хотя кода там меньше раз в 5, наверное. А так вообще я люблю разработку как в CL - когда живая программа прямо под пальцами растёт.

Собираюсь работу работать. Опуститься до жабы ради искусства я вряд ли смог бы.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от interrupted

Работодатель называется «шкура неубитого медведя», но в целом определённое количество вакансий на clojure есть. По сравнению с практически полным нулём на Common Lisp (в России).

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

Есть ли какой-то проект на clojure, к-рый можно взять за основу для перепиливания? У меня, в принципе, есть прототип на go, но я не очень хочу переписывать его. clojurescript не очень хочу, может и зря. Лучше пусть будет plain js с jquery на фронте - с ним как-то гораздо легче мне.

Пока нашёл только https://github.com/taylorlapeyre/clojure-web-app

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от den73

люблю разработку как в CL - когда живая программа прямо под пальцами растёт.

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

ados ★★★★★
()
Последнее исправление: ados (всего исправлений: 2)
Ответ на: комментарий от ados

Да я хз. Почему-то от неё многие лисперы плюются. Кто-то писал - нет сигнального протокола - уже плохо. Ладно, попробую - узнаю.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)

Всё ещё думаю о возможности заняться разработкой на clojure

Что-то долго думаешь.

Расскажите о своих ощущениях

Все прекрасно, норм коммунити (не то что в этих ваших лишпах) и куча работы.

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

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

Любой адекватный, которому нужен лишп и миллиард батареек под капотом.

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

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

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от ados

man теория информации. Никто не понимает, но лиспер-то должен понимать.

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

Не ходи туда, там все латинскими иероглифами писано.

Если серьезно, то для скорости есть реактивная бабашка. Речь о скорости запуска, конечно.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от Nervous

Ты имеешь в виду, что бабашка есть реализация подмножества clojure без jvm? Я вообще очень мечтаю найти что-то на замену баш, ессно, лисп один из первых кандидатов. А там есть вот эти вот «>>», «|» и прочее вот это, чего не хватает во всех скриптовых языках, не являющихся shell-ами?

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

А там есть вот эти вот «>>», «|» и прочее вот это

Почему вдруг нет-то. Обычная программа с cli-интерфейсом.

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

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от Nervous

Я хочу полную замену башу. Ненавижу это г. Вот возлагал надежды на expect, но там отвратительная документация, в которой, например, тупо не написано, что там не обычные регэкспы, а тиклевые. Т.е. нужно не просто знать тикль, а ещё и догадаться до этой особенности. Без SO элементарную задачу автоматизировать инсталлятор, задающий не совсем одинаковую последовательность вопросов, не получилось. В итоге-то получилось, но дороговато вышло по времени. Но в целом впечатляет, что Грааль работает.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

А рабочий проект на Яве собирается минут 15, хотя кода там меньше раз в 5, наверное.

Ну можно и 30 минут сборку сделать, но ты уверен что дело в жабе?

ya-betmen ★★★★★
()
Ответ на: комментарий от den73

Когда тормозит, меня это бесит очень сильно.

Да не тормозит оно. Просто CL объективно быстрее.

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

Кто-то писал - нет сигнального протокола - уже плохо.

Много где нет того, что есть в CL. Просто данность.

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

Я хочу полную замену башу.

Я начал для этого с пиколиспа, потом гуиле, потом дошло, наконец, что баш это баш. А если что нужно что-то типа баша, но не так утырно, как баш, то CL.

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

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

https://github.com/SquircleSpace/shcl

https://ambrevar.xyz/lisp-repl-shell/index.html

сам не пользуюсь

BOSS-NIGGER
()
Последнее исправление: BOSS-NIGGER (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Я хз, мопед не мой, я только на нём езжу. Впрочем, по сравнению с кое-чем на ts и ява летает.

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

Для всего прикладного достаточно js.

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

Clojure вроде не Java, а динамическая лапша для изнасилования JVM беспощадным давлением на reflection.

Kotlin или Scala - это как бы по канонам Java

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)

Пиши на Chicken Scheme. Мне зашло

Я в вопросе не разбираюсь совсем, но на ЛОРе это никогда не мешало советовать

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от turtle_bazon

куча работы.

Прям так куча? :)

В сравнении с CL да, с остальными языки - «можно найти». А если есть опыт в джаве и какой-то авторитет в конторе - можно и кложу инфильтрировать.

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

В сравнении с CL да

Ну, как сказать. Но действительно побольше, конечно. Но если сравнить с Java, то CL или Clojure - разницы нет.

turtle_bazon ★★★★★
()

Попробуй вот это: https://github.com/ExaScience/slick

The Slick programming language is a Lisp/Scheme-style s-expression surface syntax for the Go programming language, with a few additional features. Apart from the additional features, it is a faithful mapping of all Go programming language features into s-expression notation, with very few, very minor intentional exceptions.```
kookoo
()
Последнее исправление: kookoo (всего исправлений: 2)
Ответ на: комментарий от den73

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

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

Держи тогда вот это: https://github.com/cosmos72/gomacro

В целом идея прикрутить лисп к го выглядит норм. Но по-моему, ява всё же побогаче будет в плане применений (во всяком случае, пока что).

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

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

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

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

Спасибо, записал в закладки. Похоже на то, что я хотел, хотя некоторые примеры сразу вызывают вопросы: нет лисповой простоты, конвейер сделан операцией «как в баше», и в обоснованиях сказано, что в баше много «серых мест». НО, простите, приоритеты операций в баше - это тоже не совсем уж белое место. Надо было так делать:

(| (первая-команда) (вторая-команда))

Лисп - так уж лисп.

Между тем удалось (хоть и с матами) продраться сквозь введение в вышеупомянутый Coast. Некоторые вещи в нём показались странными, но в целом похоже на то, что я хотел. Самое смешное то, что когда я не знал, как делать, и там ни черта понятного не было написано, всплывало в памяти, что «надо попробовать c-c c-k» и это помогало.

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

Думаю, тема заслуживает уже звёздочки.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от turtle_bazon

А если что нужно что-то типа баша, но не так утырно, как баш, то CL.

В CL весьма фигово с запуском внешних программ (если только за 3-4 года моего отсутствия не починили). Т.е. запустить программу, передать ей параметры и перенаправить ввод-вывод - это прям высший пилотаж, и не делалось раньше кроссплатформенно/кросскомпиляторно. А у баша основная задача - это как раз запускать другие программы.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

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

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

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

Два чаю этому господину. Я бы объяснил явление так (можно уже переходить на лиспосрач, т.к. содержательная часть вопроса решена, поэтому я вставляю в сообщение горизонтальную черту, чтобы отделить части обсуждения друг от друга) - в любой секте часть постулатов должна быть нарочито абсурдной. Помните историю про Вила? В культ был заложен обман, который позволил провести стремительную десакрализацию с последующей деклерикализацией. Т.е. у культа должна быть закладка от АНБ, с помощью которой его можно выключить. История про князя Глеба и волхва - примерно из той же серии. В случае лиспа таким абсурдом является скобкофилия. Приходи, друг @Brillenschlange, прочти это - я ответил тебе про Вавилон, хоть и не совсем то.

Хотя, может быть, тут дело в принципе «свой-чужой». Т.е. абсурдные утверждения нужны по той причине, что чужой к ним никогда своим умом не придёт. Но это уже надо читать «Тропу Троянову», где всё это расписано более-менее подробно.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.