Започнах да играя с Clojure в края на 2013 г. Имах силен професионален опит с Java и работех на пълен работен ден с Ruby. Също така научих малко за Lisp и функционалното програмиране в някои курсове и ми хареса много, но инструментите, екосистемата и общността около Common Lisp направиха малко трудно да си играя с някои любими проекти по това време.

Така че започнах да научавам Clojure поради някои факти:

  • Това е Lisp - homoiconicity FTW, където кодът, който пишете, е като представяне на неговия AST
  • Работи на JVM - стабилна, мултиплатформена среда за изпълнение с много оптимизации
  • Той идва с взаимодействие с други JVM езици, така че е възможно да се използват много съществуващи библиотеки
  • Простота на синтаксиса - в сравнение с други езици, колко запазени думи и специални символи се използват? Не трябва да се страхувате от скобите
  • Направено безопасно за паралелност - Когато програмирате с Clojure, неговите структури от данни улесняват писането на код, безопасен за нишки, и по това време библиотеките, които не са безопасни за нишки, причиняват много болка на Ruby проекти

В следващите ми публикации ще научим как да използваме Clojure.