Двач.hk не отвечает.
Вы видите копию треда, сохраненную 15 июня в 21:53.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вы видите копию треда, сохраненную 15 июня в 21:53.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Clojure (произносится как closure [ˈklōZHər]) — современный диалект Лиспа, язык программирования общего назначения с поддержкой разработки в интерактивном режиме, поощряющий функциональное программирование и упрощающий поддержку многопоточности. Clojure работает на платформах JVM и CLR. Clojure отличает философия «код как данные» (гомоиконность) и развитая система лисп-макросов.
Транслятор Clojure свободно распространяется на условиях Eclipse Public License.
Clojure за 15 минут - https://habr.com/ru/companies/otus/articles/725060/
Официальный гайд - https://clojure.org/guides/getting_started
Основы Clojure - https://code-basics.com/ru/languages/clojure
Транслятор Clojure свободно распространяется на условиях Eclipse Public License.
Clojure за 15 минут - https://habr.com/ru/companies/otus/articles/725060/
Официальный гайд - https://clojure.org/guides/getting_started
Основы Clojure - https://code-basics.com/ru/languages/clojure
>>22689 (OP)
Зачем если есть лисп? Причём для лиспа есть sbcl, то есть можно писать даже производтиельные приложения, типа игр.
Зачем если есть лисп? Причём для лиспа есть sbcl, то есть можно писать даже производтиельные приложения, типа игр.
>>22860
Почему тебе НЕПРИЯТНО? Сосака не заплатит миску мочи, если не выполнишь норму постинга?
Почему тебе НЕПРИЯТНО? Сосака не заплатит миску мочи, если не выполнишь норму постинга?
ьамп
; Добро пожаловать в очередной тред самого высокооплачиваемого языка в мире!
(swap! threads update-in [:clojure :count] inc)
https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f
Кто использует clojure в продакшне?
Walmart, CircleCI, Heroku, Puppet, Netflix, Soundcloud, Spotify, Facebook, Groupon, Red Hat, Oracle, Сбербанк.
Какие приложения написаны на clojure?
Walmart eReceipts - бэкенд обработки данных о покупках во всех отделениях Walmart для их мобильного приложения.
[https://www.datomic.com](https://www.datomic.com) - распределенная транзакционная база данных с языком запросов на основе datalog.
[https://roamresearch.com](https://roamresearch.com) - самый трендовый инструмент для ведения личных заметок и создания баз знаний (zettelkasten и прочие баззворды добавить по желанию)
[https://github.com/athensresearch/athens](https://github.com/athensresearch/athens) - то же, но без облака
[https://status.im](https://status.im) - мобильная блокчейн ОС на основе Ethereum'а и тулкит для создания p2p-приложений.
[http://lighttable.com](http://lighttable.com) - расширяемая интерактивная IDE для clojure, python и javascript.
[https://precursorapp.com](https://precursorapp.com) - инструмент для коллективного прототипирования онлайн (рекомендую попробовать, зависимость есть).
[http://circleci.com](http://circleci.com) - Continuous Integration and Delivery. Бэкенд и фронтенд на clojure+clojurescript.
[http://braid.chat/](http://braid.chat/) - более лучший слак, опенсорсный и с историей (альфа).
[http://maria.cloud/](http://maria.cloud/) - интерактивная онлайн-IDE для обучения программированию.
[https://defold.com](https://defold.com) - редактор для игрового движка.
TL;DR
Начать: [http://maria.cloud/](http://maria.cloud/)
Читать: [https://www.braveclojure.com](https://www.braveclojure.com)
Решать: [http://www.4clojure.com](http://www.4clojure.com)
Онлайн: [https://repl.it/site/languages/clojure](https://repl.it/site/languages/clojure)
Офлайн: [https://leiningen.org](https://leiningen.org)
Зомби: [http://www.parens-of-the-dead.com/](http://www.parens-of-the-dead.com/)
Гайды: [https://clojure.org/guides/getting_started](https://clojure.org/guides/getting_started)
Доки: [https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
Стайлгайд: [https://github.com/bbatsov/clojure-style-guide](https://github.com/bbatsov/clojure-style-guide)
IDE: [https://practicalli.github.io/clojure/development-tools/install-guides/](https://practicalli.github.io/clojure/development-tools/install-guides/)
Clojurescript
[https://clojurescript.org](https://clojurescript.org)
[https://figwheel.org](https://figwheel.org)
[https://github.com/Day8/re-frame](https://github.com/Day8/re-frame)
Документация
[https://cljdoc.org/](https://cljdoc.org/)
[https://clojuredocs.org/](https://clojuredocs.org/)
[https://clojure.org/api/cheatsheet](https://clojure.org/api/cheatsheet) && [https://cljs.info/cheatsheet/](https://cljs.info/cheatsheet/)
[https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
[http://clojure-doc.org](http://clojure-doc.org)
Задачи
[http://www.4clojure.com](http://www.4clojure.com)
[http://clojurekoans.com](http://clojurekoans.com)
[http://clojurescriptkoans.com](http://clojurescriptkoans.com)
[http://exercism.io/languages/clojure/about](http://exercism.io/languages/clojure/about)
Видео
[https://github.com/tallesl/Rich-Hickey-fanclub#talks](https://github.com/tallesl/Rich-Hickey-fanclub#talks)
[https://www.youtube.com/user/ClojureTV](https://www.youtube.com/user/ClojureTV)
Комьюнити
[https://ask.clojure.org/](https://ask.clojure.org/)
[http://clojurians.slack.com/](http://clojurians.slack.com/)
[https://clojureverse.org/](https://clojureverse.org/)
[https://www.reddit.com/r/Clojure/](https://www.reddit.com/r/Clojure/)
#clojure @ [irc.freenode.net](http://irc.freenode.net)
[https://groups.google.com/forum/#!forum/clojure](https://groups.google.com/forum/#!forum/clojure)
[https://stackoverflow.com/questions/tagged/clojure](https://stackoverflow.com/questions/tagged/clojure)
Блоги
Еженедельник: [https://therepl.net](https://therepl.net)
Все блоги: [http://planet.clojure.in](http://planet.clojure.in)
Производительность: [http://clojure-goes-fast.com](http://clojure-goes-fast.com)
Оффтоп: [http://tonsky.me/](http://tonsky.me/)
IDE
[https://cursive-ide.com](https://cursive-ide.com)
[https://docs.cider.mx/cider/index.html](https://docs.cider.mx/cider/index.html)
[https://github.com/tpope/vim-fireplace](https://github.com/tpope/vim-fireplace) || [https://github.com/Olical/conjure/](https://github.com/Olical/conjure/)
[http://lighttable.com](http://lighttable.com)
[http://nightcoders.net](http://nightcoders.net) || [https://sekao.net/nightcode](https://sekao.net/nightcode) || [https://sekao.net/lightmod](https://sekao.net/lightmod)
[https://shaunlebron.github.io/parinfer/](https://shaunlebron.github.io/parinfer/)
Библиотеки
[https://clj-templates.com](https://clj-templates.com)
[https://clojars.org](https://clojars.org) || [https://www.clojure-toolbox.com](https://www.clojure-toolbox.com) || [https://cljdoc.xyz](https://cljdoc.xyz)
Web: [http://www.luminusweb.net](http://www.luminusweb.net) || [https://github.com/duct-framework/duct](https://github.com/duct-framework/duct) || [http://pedestal.io](http://pedestal.io)
Express/Flask/Sinatra: [https://learnxinyminutes.com/docs/compojure](https://learnxinyminutes.com/docs/compojure) || [https://metosin.github.io/reitit](https://metosin.github.io/reitit)
REST: [https://clojure-liberator.github.io/liberator/](https://clojure-liberator.github.io/liberator/)
App Server: [http://aleph.io](http://aleph.io) || [http://immutant.org](http://immutant.org) || [http://http-kit.org](http://http-kit.org)
DI: [https://github.com/weavejester/integrant](https://github.com/weavejester/integrant) || [https://github.com/stuartsierra/component](https://github.com/stuartsierra/component) || [https://github.com/tolitius/mount](https://github.com/tolitius/mount) || [https://aroemers.github.io/mount-lite](https://aroemers.github.io/mount-lite)
SQL: [https://github.com/layerware/hugsql](https://github.com/layerware/hugsql) || [https://walkable.gitlab.io](https://walkable.gitlab.io)
UI (cljs): [https://github.com/Day8/re-frame](https://github.com/Day8/re-frame) || [https://github.com/tonsky/rum](https://github.com/tonsky/rum) || [https://github.com/omcljs/om](https://github.com/omcljs/om)
HTML: [https://github.com/weavejester/hiccup](https://github.com/weavejester/hiccup) || [https://github.com/cgrand/enlive](https://github.com/cgrand/enlive)
Macros: [https://github.com/cgrand/macrovich](https://github.com/cgrand/macrovich)
Magic: [https://github.com/nathanmarz/specter](https://github.com/nathanmarz/specter)
Spec: [https://github.com/bhb/expound](https://github.com/bhb/expound) || [https://github.com/jeaye/orchestra](https://github.com/jeaye/orchestra)
Test: [https://github.com/clojure/test.generative](https://github.com/clojure/test.generative)
FAQ
— СКОБКИ!!11
[http://clochure.org/](http://clochure.org/)
— Кейворды?..
[https://clojure.org/guides/faq#why_keywords](https://clojure.org/guides/faq#why_keywords)
— Common Lisp же есть, нинужна!!1
Просто _съеби_.
— Что нужно для вкатывания?
Знать английский, не быть тупым, иметь опыт программирования.
— Хочу начать изучать программирование, clojure мне подойдет?
Лучше сперва возьми PLT Racket и читай [http://htdp.org](http://htdp.org) или SICP (хотя можешь попробовать [http://maria.cloud/](http://maria.cloud/) ).
— Обязательно знать джаву и жс?
На уровне чтения документации.
— Как без классов представлять бизнес-сущности?
Используй хэшмапы, namespaced keywords и spec. Не поддавайся искушению создавать рекорды на каждый чих. Все есть _данные_. IT'S JUST D A T A
— Что по скорости?
Зависит от задачи. В среднем - медленнее скалы, быстрее рубипитонов.
— Печатаю элементы последовательности, а они не печатаются, ЧЯДНТ?
Ленивость + сайд-эффекты => используй doall или dorun.
— Итерируюсь по большой последовательности и получаю OutOfMemoryException, ЧЯДНТ?
[https://clojure.org/reference/lazy#_don_t_hang_onto_your_head](https://clojure.org/reference/lazy#_don_t_hang_onto_your_head)
— DSL - круто! Можно теперь все API делать на макросах?
The first rule of macro club is: "Don't write macros".
— Че там по пост-иронии?
[https://www.youtube.com/watch?v=jlPaby7suOc](https://www.youtube.com/watch?v=jlPaby7suOc)
— Батя одобряет?
Да: [https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s](https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s)
(swap! threads update-in [:clojure :count] inc)
https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f
Кто использует clojure в продакшне?
Walmart, CircleCI, Heroku, Puppet, Netflix, Soundcloud, Spotify, Facebook, Groupon, Red Hat, Oracle, Сбербанк.
Какие приложения написаны на clojure?
Walmart eReceipts - бэкенд обработки данных о покупках во всех отделениях Walmart для их мобильного приложения.
[https://www.datomic.com](https://www.datomic.com) - распределенная транзакционная база данных с языком запросов на основе datalog.
[https://roamresearch.com](https://roamresearch.com) - самый трендовый инструмент для ведения личных заметок и создания баз знаний (zettelkasten и прочие баззворды добавить по желанию)
[https://github.com/athensresearch/athens](https://github.com/athensresearch/athens) - то же, но без облака
[https://status.im](https://status.im) - мобильная блокчейн ОС на основе Ethereum'а и тулкит для создания p2p-приложений.
[http://lighttable.com](http://lighttable.com) - расширяемая интерактивная IDE для clojure, python и javascript.
[https://precursorapp.com](https://precursorapp.com) - инструмент для коллективного прототипирования онлайн (рекомендую попробовать, зависимость есть).
[http://circleci.com](http://circleci.com) - Continuous Integration and Delivery. Бэкенд и фронтенд на clojure+clojurescript.
[http://braid.chat/](http://braid.chat/) - более лучший слак, опенсорсный и с историей (альфа).
[http://maria.cloud/](http://maria.cloud/) - интерактивная онлайн-IDE для обучения программированию.
[https://defold.com](https://defold.com) - редактор для игрового движка.
TL;DR
Начать: [http://maria.cloud/](http://maria.cloud/)
Читать: [https://www.braveclojure.com](https://www.braveclojure.com)
Решать: [http://www.4clojure.com](http://www.4clojure.com)
Онлайн: [https://repl.it/site/languages/clojure](https://repl.it/site/languages/clojure)
Офлайн: [https://leiningen.org](https://leiningen.org)
Зомби: [http://www.parens-of-the-dead.com/](http://www.parens-of-the-dead.com/)
Гайды: [https://clojure.org/guides/getting_started](https://clojure.org/guides/getting_started)
Доки: [https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
Стайлгайд: [https://github.com/bbatsov/clojure-style-guide](https://github.com/bbatsov/clojure-style-guide)
IDE: [https://practicalli.github.io/clojure/development-tools/install-guides/](https://practicalli.github.io/clojure/development-tools/install-guides/)
Clojurescript
[https://clojurescript.org](https://clojurescript.org)
[https://figwheel.org](https://figwheel.org)
[https://github.com/Day8/re-frame](https://github.com/Day8/re-frame)
Документация
[https://cljdoc.org/](https://cljdoc.org/)
[https://clojuredocs.org/](https://clojuredocs.org/)
[https://clojure.org/api/cheatsheet](https://clojure.org/api/cheatsheet) && [https://cljs.info/cheatsheet/](https://cljs.info/cheatsheet/)
[https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
[http://clojure-doc.org](http://clojure-doc.org)
Задачи
[http://www.4clojure.com](http://www.4clojure.com)
[http://clojurekoans.com](http://clojurekoans.com)
[http://clojurescriptkoans.com](http://clojurescriptkoans.com)
[http://exercism.io/languages/clojure/about](http://exercism.io/languages/clojure/about)
Видео
[https://github.com/tallesl/Rich-Hickey-fanclub#talks](https://github.com/tallesl/Rich-Hickey-fanclub#talks)
[https://www.youtube.com/user/ClojureTV](https://www.youtube.com/user/ClojureTV)
Комьюнити
[https://ask.clojure.org/](https://ask.clojure.org/)
[http://clojurians.slack.com/](http://clojurians.slack.com/)
[https://clojureverse.org/](https://clojureverse.org/)
[https://www.reddit.com/r/Clojure/](https://www.reddit.com/r/Clojure/)
#clojure @ [irc.freenode.net](http://irc.freenode.net)
[https://groups.google.com/forum/#!forum/clojure](https://groups.google.com/forum/#!forum/clojure)
[https://stackoverflow.com/questions/tagged/clojure](https://stackoverflow.com/questions/tagged/clojure)
Блоги
Еженедельник: [https://therepl.net](https://therepl.net)
Все блоги: [http://planet.clojure.in](http://planet.clojure.in)
Производительность: [http://clojure-goes-fast.com](http://clojure-goes-fast.com)
Оффтоп: [http://tonsky.me/](http://tonsky.me/)
IDE
[https://cursive-ide.com](https://cursive-ide.com)
[https://docs.cider.mx/cider/index.html](https://docs.cider.mx/cider/index.html)
[https://github.com/tpope/vim-fireplace](https://github.com/tpope/vim-fireplace) || [https://github.com/Olical/conjure/](https://github.com/Olical/conjure/)
[http://lighttable.com](http://lighttable.com)
[http://nightcoders.net](http://nightcoders.net) || [https://sekao.net/nightcode](https://sekao.net/nightcode) || [https://sekao.net/lightmod](https://sekao.net/lightmod)
[https://shaunlebron.github.io/parinfer/](https://shaunlebron.github.io/parinfer/)
Библиотеки
[https://clj-templates.com](https://clj-templates.com)
[https://clojars.org](https://clojars.org) || [https://www.clojure-toolbox.com](https://www.clojure-toolbox.com) || [https://cljdoc.xyz](https://cljdoc.xyz)
Web: [http://www.luminusweb.net](http://www.luminusweb.net) || [https://github.com/duct-framework/duct](https://github.com/duct-framework/duct) || [http://pedestal.io](http://pedestal.io)
Express/Flask/Sinatra: [https://learnxinyminutes.com/docs/compojure](https://learnxinyminutes.com/docs/compojure) || [https://metosin.github.io/reitit](https://metosin.github.io/reitit)
REST: [https://clojure-liberator.github.io/liberator/](https://clojure-liberator.github.io/liberator/)
App Server: [http://aleph.io](http://aleph.io) || [http://immutant.org](http://immutant.org) || [http://http-kit.org](http://http-kit.org)
DI: [https://github.com/weavejester/integrant](https://github.com/weavejester/integrant) || [https://github.com/stuartsierra/component](https://github.com/stuartsierra/component) || [https://github.com/tolitius/mount](https://github.com/tolitius/mount) || [https://aroemers.github.io/mount-lite](https://aroemers.github.io/mount-lite)
SQL: [https://github.com/layerware/hugsql](https://github.com/layerware/hugsql) || [https://walkable.gitlab.io](https://walkable.gitlab.io)
UI (cljs): [https://github.com/Day8/re-frame](https://github.com/Day8/re-frame) || [https://github.com/tonsky/rum](https://github.com/tonsky/rum) || [https://github.com/omcljs/om](https://github.com/omcljs/om)
HTML: [https://github.com/weavejester/hiccup](https://github.com/weavejester/hiccup) || [https://github.com/cgrand/enlive](https://github.com/cgrand/enlive)
Macros: [https://github.com/cgrand/macrovich](https://github.com/cgrand/macrovich)
Magic: [https://github.com/nathanmarz/specter](https://github.com/nathanmarz/specter)
Spec: [https://github.com/bhb/expound](https://github.com/bhb/expound) || [https://github.com/jeaye/orchestra](https://github.com/jeaye/orchestra)
Test: [https://github.com/clojure/test.generative](https://github.com/clojure/test.generative)
FAQ
— СКОБКИ!!11
[http://clochure.org/](http://clochure.org/)
— Кейворды?..
[https://clojure.org/guides/faq#why_keywords](https://clojure.org/guides/faq#why_keywords)
— Common Lisp же есть, нинужна!!1
Просто _съеби_.
— Что нужно для вкатывания?
Знать английский, не быть тупым, иметь опыт программирования.
— Хочу начать изучать программирование, clojure мне подойдет?
Лучше сперва возьми PLT Racket и читай [http://htdp.org](http://htdp.org) или SICP (хотя можешь попробовать [http://maria.cloud/](http://maria.cloud/) ).
— Обязательно знать джаву и жс?
На уровне чтения документации.
— Как без классов представлять бизнес-сущности?
Используй хэшмапы, namespaced keywords и spec. Не поддавайся искушению создавать рекорды на каждый чих. Все есть _данные_. IT'S JUST D A T A
— Что по скорости?
Зависит от задачи. В среднем - медленнее скалы, быстрее рубипитонов.
— Печатаю элементы последовательности, а они не печатаются, ЧЯДНТ?
Ленивость + сайд-эффекты => используй doall или dorun.
— Итерируюсь по большой последовательности и получаю OutOfMemoryException, ЧЯДНТ?
[https://clojure.org/reference/lazy#_don_t_hang_onto_your_head](https://clojure.org/reference/lazy#_don_t_hang_onto_your_head)
— DSL - круто! Можно теперь все API делать на макросах?
The first rule of macro club is: "Don't write macros".
— Че там по пост-иронии?
[https://www.youtube.com/watch?v=jlPaby7suOc](https://www.youtube.com/watch?v=jlPaby7suOc)
— Батя одобряет?
Да: [https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s](https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s)
; Добро пожаловать в очередной тред самого высокооплачиваемого языка в мире!
(swap! threads update-in [:clojure :count] inc)
https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f
Кто использует clojure в продакшне?
Walmart, CircleCI, Heroku, Puppet, Netflix, Soundcloud, Spotify, Facebook, Groupon, Red Hat, Oracle, Сбербанк.
Какие приложения написаны на clojure?
Walmart eReceipts - бэкенд обработки данных о покупках во всех отделениях Walmart для их мобильного приложения.
[https://www.datomic.com](https://www.datomic.com) - распределенная транзакционная база данных с языком запросов на основе datalog.
[https://roamresearch.com](https://roamresearch.com) - самый трендовый инструмент для ведения личных заметок и создания баз знаний (zettelkasten и прочие баззворды добавить по желанию)
[https://github.com/athensresearch/athens](https://github.com/athensresearch/athens) - то же, но без облака
[https://status.im](https://status.im) - мобильная блокчейн ОС на основе Ethereum'а и тулкит для создания p2p-приложений.
[http://lighttable.com](http://lighttable.com) - расширяемая интерактивная IDE для clojure, python и javascript.
[https://precursorapp.com](https://precursorapp.com) - инструмент для коллективного прототипирования онлайн (рекомендую попробовать, зависимость есть).
[http://circleci.com](http://circleci.com) - Continuous Integration and Delivery. Бэкенд и фронтенд на clojure+clojurescript.
[http://braid.chat/](http://braid.chat/) - более лучший слак, опенсорсный и с историей (альфа).
[http://maria.cloud/](http://maria.cloud/) - интерактивная онлайн-IDE для обучения программированию.
[https://defold.com](https://defold.com) - редактор для игрового движка.
TL;DR
Начать: [http://maria.cloud/](http://maria.cloud/)
Читать: [https://www.braveclojure.com](https://www.braveclojure.com)
Решать: [http://www.4clojure.com](http://www.4clojure.com)
Онлайн: [https://repl.it/site/languages/clojure](https://repl.it/site/languages/clojure)
Офлайн: [https://leiningen.org](https://leiningen.org)
Зомби: [http://www.parens-of-the-dead.com/](http://www.parens-of-the-dead.com/)
Гайды: [https://clojure.org/guides/getting_started](https://clojure.org/guides/getting_started)
Доки: [https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
Стайлгайд: [https://github.com/bbatsov/clojure-style-guide](https://github.com/bbatsov/clojure-style-guide)
IDE: [https://practicalli.github.io/clojure/development-tools/install-guides/](https://practicalli.github.io/clojure/development-tools/install-guides/)
Clojurescript
[https://clojurescript.org](https://clojurescript.org)
[https://figwheel.org](https://figwheel.org)
[https://github.com/Day8/re-frame](https://github.com/Day8/re-frame)
Документация
[https://cljdoc.org/](https://cljdoc.org/)
[https://clojuredocs.org/](https://clojuredocs.org/)
[https://clojure.org/api/cheatsheet](https://clojure.org/api/cheatsheet) && [https://cljs.info/cheatsheet/](https://cljs.info/cheatsheet/)
[https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
[http://clojure-doc.org](http://clojure-doc.org)
Задачи
[http://www.4clojure.com](http://www.4clojure.com)
[http://clojurekoans.com](http://clojurekoans.com)
[http://clojurescriptkoans.com](http://clojurescriptkoans.com)
[http://exercism.io/languages/clojure/about](http://exercism.io/languages/clojure/about)
Видео
[https://github.com/tallesl/Rich-Hickey-fanclub#talks](https://github.com/tallesl/Rich-Hickey-fanclub#talks)
[https://www.youtube.com/user/ClojureTV](https://www.youtube.com/user/ClojureTV)
Комьюнити
[https://ask.clojure.org/](https://ask.clojure.org/)
[http://clojurians.slack.com/](http://clojurians.slack.com/)
[https://clojureverse.org/](https://clojureverse.org/)
[https://www.reddit.com/r/Clojure/](https://www.reddit.com/r/Clojure/)
#clojure @ [irc.freenode.net](http://irc.freenode.net)
[https://groups.google.com/forum/#!forum/clojure](https://groups.google.com/forum/#!forum/clojure)
[https://stackoverflow.com/questions/tagged/clojure](https://stackoverflow.com/questions/tagged/clojure)
Блоги
Еженедельник: [https://therepl.net](https://therepl.net)
Все блоги: [http://planet.clojure.in](http://planet.clojure.in)
Производительность: [http://clojure-goes-fast.com](http://clojure-goes-fast.com)
Оффтоп: [http://tonsky.me/](http://tonsky.me/)
IDE
[https://cursive-ide.com](https://cursive-ide.com)
[https://docs.cider.mx/cider/index.html](https://docs.cider.mx/cider/index.html)
[https://github.com/tpope/vim-fireplace](https://github.com/tpope/vim-fireplace) || [https://github.com/Olical/conjure/](https://github.com/Olical/conjure/)
[http://lighttable.com](http://lighttable.com)
[http://nightcoders.net](http://nightcoders.net) || [https://sekao.net/nightcode](https://sekao.net/nightcode) || [https://sekao.net/lightmod](https://sekao.net/lightmod)
[https://shaunlebron.github.io/parinfer/](https://shaunlebron.github.io/parinfer/)
Библиотеки
[https://clj-templates.com](https://clj-templates.com)
[https://clojars.org](https://clojars.org) || [https://www.clojure-toolbox.com](https://www.clojure-toolbox.com) || [https://cljdoc.xyz](https://cljdoc.xyz)
Web: [http://www.luminusweb.net](http://www.luminusweb.net) || [https://github.com/duct-framework/duct](https://github.com/duct-framework/duct) || [http://pedestal.io](http://pedestal.io)
Express/Flask/Sinatra: [https://learnxinyminutes.com/docs/compojure](https://learnxinyminutes.com/docs/compojure) || [https://metosin.github.io/reitit](https://metosin.github.io/reitit)
REST: [https://clojure-liberator.github.io/liberator/](https://clojure-liberator.github.io/liberator/)
App Server: [http://aleph.io](http://aleph.io) || [http://immutant.org](http://immutant.org) || [http://http-kit.org](http://http-kit.org)
DI: [https://github.com/weavejester/integrant](https://github.com/weavejester/integrant) || [https://github.com/stuartsierra/component](https://github.com/stuartsierra/component) || [https://github.com/tolitius/mount](https://github.com/tolitius/mount) || [https://aroemers.github.io/mount-lite](https://aroemers.github.io/mount-lite)
SQL: [https://github.com/layerware/hugsql](https://github.com/layerware/hugsql) || [https://walkable.gitlab.io](https://walkable.gitlab.io)
UI (cljs): [https://github.com/Day8/re-frame](https://github.com/Day8/re-frame) || [https://github.com/tonsky/rum](https://github.com/tonsky/rum) || [https://github.com/omcljs/om](https://github.com/omcljs/om)
HTML: [https://github.com/weavejester/hiccup](https://github.com/weavejester/hiccup) || [https://github.com/cgrand/enlive](https://github.com/cgrand/enlive)
Macros: [https://github.com/cgrand/macrovich](https://github.com/cgrand/macrovich)
Magic: [https://github.com/nathanmarz/specter](https://github.com/nathanmarz/specter)
Spec: [https://github.com/bhb/expound](https://github.com/bhb/expound) || [https://github.com/jeaye/orchestra](https://github.com/jeaye/orchestra)
Test: [https://github.com/clojure/test.generative](https://github.com/clojure/test.generative)
FAQ
— СКОБКИ!!11
[http://clochure.org/](http://clochure.org/)
— Кейворды?..
[https://clojure.org/guides/faq#why_keywords](https://clojure.org/guides/faq#why_keywords)
— Common Lisp же есть, нинужна!!1
Просто _съеби_.
— Что нужно для вкатывания?
Знать английский, не быть тупым, иметь опыт программирования.
— Хочу начать изучать программирование, clojure мне подойдет?
Лучше сперва возьми PLT Racket и читай [http://htdp.org](http://htdp.org) или SICP (хотя можешь попробовать [http://maria.cloud/](http://maria.cloud/) ).
— Обязательно знать джаву и жс?
На уровне чтения документации.
— Как без классов представлять бизнес-сущности?
Используй хэшмапы, namespaced keywords и spec. Не поддавайся искушению создавать рекорды на каждый чих. Все есть _данные_. IT'S JUST D A T A
— Что по скорости?
Зависит от задачи. В среднем - медленнее скалы, быстрее рубипитонов.
— Печатаю элементы последовательности, а они не печатаются, ЧЯДНТ?
Ленивость + сайд-эффекты => используй doall или dorun.
— Итерируюсь по большой последовательности и получаю OutOfMemoryException, ЧЯДНТ?
[https://clojure.org/reference/lazy#_don_t_hang_onto_your_head](https://clojure.org/reference/lazy#_don_t_hang_onto_your_head)
— DSL - круто! Можно теперь все API делать на макросах?
The first rule of macro club is: "Don't write macros".
— Че там по пост-иронии?
[https://www.youtube.com/watch?v=jlPaby7suOc](https://www.youtube.com/watch?v=jlPaby7suOc)
— Батя одобряет?
Да: [https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s](https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s)
(swap! threads update-in [:clojure :count] inc)
https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f
Кто использует clojure в продакшне?
Walmart, CircleCI, Heroku, Puppet, Netflix, Soundcloud, Spotify, Facebook, Groupon, Red Hat, Oracle, Сбербанк.
Какие приложения написаны на clojure?
Walmart eReceipts - бэкенд обработки данных о покупках во всех отделениях Walmart для их мобильного приложения.
[https://www.datomic.com](https://www.datomic.com) - распределенная транзакционная база данных с языком запросов на основе datalog.
[https://roamresearch.com](https://roamresearch.com) - самый трендовый инструмент для ведения личных заметок и создания баз знаний (zettelkasten и прочие баззворды добавить по желанию)
[https://github.com/athensresearch/athens](https://github.com/athensresearch/athens) - то же, но без облака
[https://status.im](https://status.im) - мобильная блокчейн ОС на основе Ethereum'а и тулкит для создания p2p-приложений.
[http://lighttable.com](http://lighttable.com) - расширяемая интерактивная IDE для clojure, python и javascript.
[https://precursorapp.com](https://precursorapp.com) - инструмент для коллективного прототипирования онлайн (рекомендую попробовать, зависимость есть).
[http://circleci.com](http://circleci.com) - Continuous Integration and Delivery. Бэкенд и фронтенд на clojure+clojurescript.
[http://braid.chat/](http://braid.chat/) - более лучший слак, опенсорсный и с историей (альфа).
[http://maria.cloud/](http://maria.cloud/) - интерактивная онлайн-IDE для обучения программированию.
[https://defold.com](https://defold.com) - редактор для игрового движка.
TL;DR
Начать: [http://maria.cloud/](http://maria.cloud/)
Читать: [https://www.braveclojure.com](https://www.braveclojure.com)
Решать: [http://www.4clojure.com](http://www.4clojure.com)
Онлайн: [https://repl.it/site/languages/clojure](https://repl.it/site/languages/clojure)
Офлайн: [https://leiningen.org](https://leiningen.org)
Зомби: [http://www.parens-of-the-dead.com/](http://www.parens-of-the-dead.com/)
Гайды: [https://clojure.org/guides/getting_started](https://clojure.org/guides/getting_started)
Доки: [https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
Стайлгайд: [https://github.com/bbatsov/clojure-style-guide](https://github.com/bbatsov/clojure-style-guide)
IDE: [https://practicalli.github.io/clojure/development-tools/install-guides/](https://practicalli.github.io/clojure/development-tools/install-guides/)
Clojurescript
[https://clojurescript.org](https://clojurescript.org)
[https://figwheel.org](https://figwheel.org)
[https://github.com/Day8/re-frame](https://github.com/Day8/re-frame)
Документация
[https://cljdoc.org/](https://cljdoc.org/)
[https://clojuredocs.org/](https://clojuredocs.org/)
[https://clojure.org/api/cheatsheet](https://clojure.org/api/cheatsheet) && [https://cljs.info/cheatsheet/](https://cljs.info/cheatsheet/)
[https://clojure.org/reference/documentation](https://clojure.org/reference/documentation)
[http://clojure-doc.org](http://clojure-doc.org)
Задачи
[http://www.4clojure.com](http://www.4clojure.com)
[http://clojurekoans.com](http://clojurekoans.com)
[http://clojurescriptkoans.com](http://clojurescriptkoans.com)
[http://exercism.io/languages/clojure/about](http://exercism.io/languages/clojure/about)
Видео
[https://github.com/tallesl/Rich-Hickey-fanclub#talks](https://github.com/tallesl/Rich-Hickey-fanclub#talks)
[https://www.youtube.com/user/ClojureTV](https://www.youtube.com/user/ClojureTV)
Комьюнити
[https://ask.clojure.org/](https://ask.clojure.org/)
[http://clojurians.slack.com/](http://clojurians.slack.com/)
[https://clojureverse.org/](https://clojureverse.org/)
[https://www.reddit.com/r/Clojure/](https://www.reddit.com/r/Clojure/)
#clojure @ [irc.freenode.net](http://irc.freenode.net)
[https://groups.google.com/forum/#!forum/clojure](https://groups.google.com/forum/#!forum/clojure)
[https://stackoverflow.com/questions/tagged/clojure](https://stackoverflow.com/questions/tagged/clojure)
Блоги
Еженедельник: [https://therepl.net](https://therepl.net)
Все блоги: [http://planet.clojure.in](http://planet.clojure.in)
Производительность: [http://clojure-goes-fast.com](http://clojure-goes-fast.com)
Оффтоп: [http://tonsky.me/](http://tonsky.me/)
IDE
[https://cursive-ide.com](https://cursive-ide.com)
[https://docs.cider.mx/cider/index.html](https://docs.cider.mx/cider/index.html)
[https://github.com/tpope/vim-fireplace](https://github.com/tpope/vim-fireplace) || [https://github.com/Olical/conjure/](https://github.com/Olical/conjure/)
[http://lighttable.com](http://lighttable.com)
[http://nightcoders.net](http://nightcoders.net) || [https://sekao.net/nightcode](https://sekao.net/nightcode) || [https://sekao.net/lightmod](https://sekao.net/lightmod)
[https://shaunlebron.github.io/parinfer/](https://shaunlebron.github.io/parinfer/)
Библиотеки
[https://clj-templates.com](https://clj-templates.com)
[https://clojars.org](https://clojars.org) || [https://www.clojure-toolbox.com](https://www.clojure-toolbox.com) || [https://cljdoc.xyz](https://cljdoc.xyz)
Web: [http://www.luminusweb.net](http://www.luminusweb.net) || [https://github.com/duct-framework/duct](https://github.com/duct-framework/duct) || [http://pedestal.io](http://pedestal.io)
Express/Flask/Sinatra: [https://learnxinyminutes.com/docs/compojure](https://learnxinyminutes.com/docs/compojure) || [https://metosin.github.io/reitit](https://metosin.github.io/reitit)
REST: [https://clojure-liberator.github.io/liberator/](https://clojure-liberator.github.io/liberator/)
App Server: [http://aleph.io](http://aleph.io) || [http://immutant.org](http://immutant.org) || [http://http-kit.org](http://http-kit.org)
DI: [https://github.com/weavejester/integrant](https://github.com/weavejester/integrant) || [https://github.com/stuartsierra/component](https://github.com/stuartsierra/component) || [https://github.com/tolitius/mount](https://github.com/tolitius/mount) || [https://aroemers.github.io/mount-lite](https://aroemers.github.io/mount-lite)
SQL: [https://github.com/layerware/hugsql](https://github.com/layerware/hugsql) || [https://walkable.gitlab.io](https://walkable.gitlab.io)
UI (cljs): [https://github.com/Day8/re-frame](https://github.com/Day8/re-frame) || [https://github.com/tonsky/rum](https://github.com/tonsky/rum) || [https://github.com/omcljs/om](https://github.com/omcljs/om)
HTML: [https://github.com/weavejester/hiccup](https://github.com/weavejester/hiccup) || [https://github.com/cgrand/enlive](https://github.com/cgrand/enlive)
Macros: [https://github.com/cgrand/macrovich](https://github.com/cgrand/macrovich)
Magic: [https://github.com/nathanmarz/specter](https://github.com/nathanmarz/specter)
Spec: [https://github.com/bhb/expound](https://github.com/bhb/expound) || [https://github.com/jeaye/orchestra](https://github.com/jeaye/orchestra)
Test: [https://github.com/clojure/test.generative](https://github.com/clojure/test.generative)
FAQ
— СКОБКИ!!11
[http://clochure.org/](http://clochure.org/)
— Кейворды?..
[https://clojure.org/guides/faq#why_keywords](https://clojure.org/guides/faq#why_keywords)
— Common Lisp же есть, нинужна!!1
Просто _съеби_.
— Что нужно для вкатывания?
Знать английский, не быть тупым, иметь опыт программирования.
— Хочу начать изучать программирование, clojure мне подойдет?
Лучше сперва возьми PLT Racket и читай [http://htdp.org](http://htdp.org) или SICP (хотя можешь попробовать [http://maria.cloud/](http://maria.cloud/) ).
— Обязательно знать джаву и жс?
На уровне чтения документации.
— Как без классов представлять бизнес-сущности?
Используй хэшмапы, namespaced keywords и spec. Не поддавайся искушению создавать рекорды на каждый чих. Все есть _данные_. IT'S JUST D A T A
— Что по скорости?
Зависит от задачи. В среднем - медленнее скалы, быстрее рубипитонов.
— Печатаю элементы последовательности, а они не печатаются, ЧЯДНТ?
Ленивость + сайд-эффекты => используй doall или dorun.
— Итерируюсь по большой последовательности и получаю OutOfMemoryException, ЧЯДНТ?
[https://clojure.org/reference/lazy#_don_t_hang_onto_your_head](https://clojure.org/reference/lazy#_don_t_hang_onto_your_head)
— DSL - круто! Можно теперь все API делать на макросах?
The first rule of macro club is: "Don't write macros".
— Че там по пост-иронии?
[https://www.youtube.com/watch?v=jlPaby7suOc](https://www.youtube.com/watch?v=jlPaby7suOc)
— Батя одобряет?
Да: [https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s](https://www.youtube.com/watch?v=-ktUXFxkSkI&t=25m25s)
>>78979
Дурак, это ОП-паста для бототреда, зачем ты её в существующий бототред запостил? -15
Дурак, это ОП-паста для бототреда, зачем ты её в существующий бототред запостил? -15
Скоро выходит документалка про Clojure
https://www.youtube.com/watch?v=JJEyffSdBsk
https://www.youtube.com/watch?v=JJEyffSdBsk
>>80849
Ютуб не работает против армии, сынок.
Ютуб не работает против армии, сынок.
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 15 июня в 21:53.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вы видите копию треда, сохраненную 15 июня в 21:53.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.