This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-07-29
Channels
- # admin-announcements (48)
- # announcements (1)
- # beginners (80)
- # boot (150)
- # cljs-dev (12)
- # clojure (133)
- # clojure-dev (1)
- # clojure-italy (27)
- # clojure-japan (1)
- # clojure-russia (77)
- # clojurescript (236)
- # clojutre (3)
- # code-reviews (1)
- # core-async (14)
- # core-logic (4)
- # core-matrix (15)
- # cursive (5)
- # datomic (30)
- # editors (16)
- # events (1)
- # hoplon (1)
- # ldnclj (17)
- # off-topic (30)
- # om (2)
- # onyx (47)
- # reagent (8)
Вопрос: делать ли ставку на Clojure?
Я в моменте выбора технологии для долгосрочного проекта
Тут могут быть трудности только с поиском людей
Ох, да старых лисповиков наверняка куча. Можно выгребать всех, кто работал на jet infosystems когда-то, скажем.
Тут вопрос насколько сложно и выгрести и насколько они захотят
Если ремоут то больше шансов, а вот если перевозить людей
Из альтернатив: golang - там горутины аля Core.Async и комьюнити активное, проще найти людей
Из аргументов за Clojure: если нет какой-то библиотеки на clojure, то она наверняка найдётся на java
Хотя судя по активности golang комунити, с библиотеками там тоже всё хорошо
Какие ещё плюсы/минусы clojure? Что я упускаю?
Ещё в плюсы clojure: макрсы
Но, на сколько я понял, макросы в основном используются при создании библиотек, а реальные пользователи пишущие бизнес логику приложения макросы не часто используют в итоге, вроде как и не пригождаются?
CRM с веб интерфейсом: много CRUD, немного аналитики, отчётов, интеграции с 1С (через веб-сервисы), уведомления на почту всякие
Для внутреннего использования в компании, не SaaS
Это да. Но макросы пригождаются библиотекописателям. Тот же core.async как пример. То есть мне как бизнес логическому программисту макросы может и не особо нужны. Однако, то что библиотекописатели могут подкинуть хороших библиотек оно помогает.
А для энтерпрайзной разработки JVM - отличный выбор. Например, библиотеки для работы с SOAP (наверняка же с 1С через него будет общение).
Живучесть голанга - тоже вопрос сомнительный. Надоест гуглу с ним играться - выбросят на помойку как гугл ридер.
kharus: там уже такое коммьюнити что сомнительно
Если даже оно надоест гуглу кто-нибудь подхватит
Если доверять мозиле то раст
В кложуре коммьюнити поцаны как-то поумнее чем в других
В целом, бывает, технологии хоть и популярные, но выбрасываются
Вон Angular - мега популярен, но в гугле его полностью несовместимо переписали (ещё в процессе) - будет Angular 2, а первый, видимо, останется только на поддержке силами сокращающегося комьюнити
Такая история уже была с GWT
Ещё у них есть язык Dart, который так и не полетел и теперь не понятно что с ним будет... Команда Dart заявила в этом году, что их язык теперь будет самым крутым для написания высокопроизводительных отзывчивых приложений для Android - ищут куда приткнуть
Но чую, через пару лет вообще заморозят
С golang всё гораздо лучше, язык явно пошел в массы на ура
Девид Нолен крут, но это bus factor!
5 сек, спрошу на канале golang
Я всё сравниваю и замечаю общих черт: Core.Async = горутины; clojure протоколы = go интерфейсы
Go нет ООП, но есть полиморфизм похожий на clojure
про коллекции в go вот: https://clipperhouse.github.io/gen/slice/ (сам ещё не дочитал)
у голанга есть свой слак кстати
Кто знает как deftype преобразовать в hash-map? Или так кто конвертил ValidationError schema/prizmatic в json?
я вот пробую cljs - чёт долго компилится 😞
делаю по инструкции: https://github.com/clojure/clojurescript/wiki/Dependencies
дошел до пункта $ lein cljsbuild auto
Compiling "out/main.js" from ["src"]... ←[32mSuccessfully compiled "out/main.js" in 51.554 seconds.←[0m
in 51.554, Карл!
да, следующие сборки пошли бстрее 5-7 сек!
Там же написано: "After running this command, you will likely see Leiningen spend a few moments downloading the required dependencies."
51 сек - это без dependencies
для работы нужно ставить без оптимизации: {:id "dev" :source-paths ["src/cljs"] :compiler {:output-to "resources/public/js/dev/main.js" :output-dir "resources/public/js/dev/out" :optimizations :none :source-map true}}
тогда даже на достаточно большим проекте перекомпилируется за секунду-две или менее секунды, т.к. только нужный модуль компилирует
да, тоже подумал, надо оптимизацию отключить, спасибо за совет!
решил шпаргалку составить, ещё не дописал: https://pqr7.wordpress.com/2015/07/29/php-vs-clojure/
а есть подобные сравнения с синтаксисом java, python или ruby?
@petr.myain: @denizzka нужно. давайте сюда: http://clojure.ru/dev/from_other_languages.html но только желательно поглубже простого синтаксиса
@petr.myain: @denizzka вот еще пример хорошего старта для перехода http://habrahabr.ru/company/wargaming/blog/221035/
какая-то видится порочность в таких шпаргалках. там мозг же основательно перестраивать надо... имхо идеально забыть всё императивное (и ооп-шное), освоить с нуля синтаксис и грамматику, и затем на элементарных задачках учиться правильно думать (ну, в общем, это коаны и делают)
У нас статистика, те кто книги не читал - тому clojure с трудом давался, а те кто любят читать - от clojure потом не оторвать было
а я не нашел вменяемый сикп на русском
а когда начинал читать его, то мой уровень владения английским оставлял желать лучшего, так что не осилил
@razum2um: спасибо за хорошие примеры!
Я ещё смотрел серию видео на английском "Clojure for PHP developers" - думал перевести в формат статьи и на русском и на Хабр
>а я не нашел вменяемый сикп на русском книга на русском даже в бумажном виде есть, или это "не вменяемый сикп"?
denizzka: я на русском находил недопереведенный куски только
а есть ссылка на амазон или озон ?
http://www.ozon.ru/context/detail/id/5322055/ дык в гугле много ссылок и на pdf версию
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/1a-overview-and-introduction-to-lisp/ Хола Абельсона одно удовольствие слушать
еще есть sicp in clojure http://ecmendenhall.github.io/sicpclojure/