Започнах да играя с Clojure в края на 2013 г. Имах силен професионален опит с Java и работех на пълен работен ден с Ruby. Също така научих малко за Lisp и функционалното програмиране в някои курсове и ми хареса много, но инструментите, екосистемата и общността около Common Lisp направиха малко трудно да си играя с някои любими проекти по това време.
Така че започнах да научавам Clojure поради някои факти:
- Това е Lisp - homoiconicity FTW, където кодът, който пишете, е като представяне на неговия AST
- Работи на JVM - стабилна, мултиплатформена среда за изпълнение с много оптимизации
- Той идва с взаимодействие с други JVM езици, така че е възможно да се използват много съществуващи библиотеки
- Простота на синтаксиса - в сравнение с други езици, колко запазени думи и специални символи се използват? Не трябва да се страхувате от скобите
- Направено безопасно за паралелност - Когато програмирате с Clojure, неговите структури от данни улесняват писането на код, безопасен за нишки, и по това време библиотеките, които не са безопасни за нишки, причиняват много болка на Ruby проекти
В следващите ми публикации ще научим как да използваме Clojure.