Logo FIT++

Workshop Clojure

Clojure je univerzální dynamický jazyk běžící nad JVM(Java virtual machine) založený na LISPu a funkcionálním paradigmatu. Společně si projdeme jeho základy a na praktických příkladech si ukážeme jednotlivé principy, na nichž je založený. Pokud Tě téma zajímá, tak doraž ve středu 23. 10. do T9:302 v Nové budově ČVUT na workshop, který povede student Honza Šuráň.

A o co tedy půjde? Clojure je programovací jazyk založený na LISPu typicky běžící nad JVM, který podporuje interaktivní vývoj přes REPL i ahead-of-time kompilaci. I přesto, že je kompilovaný, zůstává kompletně dynamický - každá funkce Clojure je podporovaná i za běhu programu. Jednoduše interaguje s Javou, může tedy využívat libovolné Java knihovny a všechny další výhody JVM v plné míře. Také lze případně volat Clojure z Javy.

Je to dialekt LISPu a sdílí s ním přístup “kód jako data” a mocný systém maker. Je převážně funkcionální a založený na imutabilních datových strukturách. Za potřeby měnitelného stavu nabízí systém softwarové transakční paměti (STM) a systém agentů pro zajištění čistého a správného návrhu vícevláknového programování.

Společně si ukážeme syntax Clojure a základy obecných principů zmíněných výše tak, aby se do Clojure dostali i tací, kteří s funkcionálním programováním nebo LISPem nemají zkušenosti. A zkusíme si trochu zaprogramovat!

Bude se však hodit rozjeté vývojové prostředí (viz zde). Doporučením je kombinace IntelliJ + plugin Cursive a build systém Leiningen. Nicméně, můžete používat např. Neovim, Emacs nebo VS Code, nicméně workshop bude probíhat v prostředí zmíněmém výše a tedy případné problémy může být těžké rychle vyřešit. Na unixových systémech lze vše rozběhnout s pomocí package managerů. Pro Windows existuje těchto pár kroků:

… and you’re good to go!

Kdybyste měli jakékoliv problémy, napište na Discord Honzovi Šuráňovi(@Honza_Suran).

Těšíme se na Tebe!