Skip to content

Commit 8756baf

Browse files
authored
EVENTS: workshop clojure (#69)
* EVENTS: workshop clojure
1 parent c548869 commit 8756baf

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

_events/2024-10-23-ws-clojure.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: "Workshop Clojure"
3+
layout: event
4+
categories:
5+
- Clojure
6+
- Workshop
7+
tags:
8+
- Clojure
9+
- Workshop
10+
img: "/assets/images/event/clojure.png"
11+
---
12+
13+
**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áň**.
14+
15+
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
16+
i ahead-of-time kompilaci. I přesto, že je kompilovaný, zůstává kompletně dynamický - každá funkce Clojure je
17+
podporovaná i za běhu programu. Jednoduše interaguje s Javou, může tedy využívat libovolné Java knihovny
18+
a všechny další výhody JVM v plné míře. Také lze případně volat Clojure z Javy.
19+
20+
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
21+
založený na imutabilních datových strukturách. Za potřeby měnitelného stavu nabízí systém softwarové transakční
22+
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í.
23+
24+
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
25+
i tací, kteří s funkcionálním programováním nebo LISPem nemají zkušenosti. A zkusíme si trochu zaprogramovat!
26+
27+
Bude se však hodit rozjeté vývojové prostředí (viz [zde](https://clojure.org/guides/getting_started)).
28+
Doporučením je kombinace IntelliJ + plugin Cursive a build systém Leiningen. Nicméně, můžete používat např.
29+
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.
30+
Na unixových systémech lze vše rozběhnout s pomocí package managerů. Pro Windows existuje těchto pár kroků:
31+
32+
- instalace package manageru pro Windows: [Scoop](https://scoop.sh/)
33+
- instalace Javy - pokud ji nemáte, můžete využít právě [Scoop](https://github.com/ScoopInstaller/Java)
34+
- [instalace Clojure](https://github.com/littleli/scoop-clojure) - opět přes Scoop
35+
- [instalace Leiningen](https://wiki.leiningen.org/Packaging): lze opět přes Scoop: `scoop install leiningen`
36+
37+
... and you're good to go!
38+
39+
Kdybyste měli jakékoliv problémy, napište na Discord Honzovi Šuráňovi(@Honza_Suran).
40+
41+
Těšíme se na Tebe!

assets/images/event/clojure.png

127 KB
Loading

0 commit comments

Comments
 (0)