Clojure jako nowoczesny Lisp na JVM
Czemu akurat Clojure budzi tyle emocji? Chyba dlatego, że łączy lispową zwięzłość z realiami świata JVM i naciskiem na dane. W Clojure. Nowy Lisp (ebook) Michaela Swaine'a i Michaela Bevilacqua-Linna sporo miejsca poświęcono temu, jak rozumieć tożsamość, wartość i stan, a to później procentuje przy projektowaniu modułów, które nie ,,rozłażą się" po kilku sprintach. Do tego dochodzą tematy takie jak REPL, wektory czy słowa kluczowe. Niby drobiazgi, a w praktyce to codzienny język myślenia w Clojure.
Praca z REPL-em, makrami i ClojureScript w praktyce
Te książki dają doświadczenie bardzo warsztatowe: uruchamiasz środowisko, testujesz pomysł w REPL-u, iterujesz i dopiero wtedy utrwalasz rozwiązanie w kodzie. W publikacji The Clojure Workshop. Use functional programming to build data-centric applications with Clojure and ClojureScript Josepha Fahey'a, Thomasa Haratyka i Scotta McCaughie'a nacisk położono na budowanie kolejnych elementów aplikacji krok po kroku, co pomaga oswoić i narzędzia, i ,,hostowany" charakter języka. Jeśli Twoim celem jest frontend albo logika współdzielona w przeglądarce, równoległe spojrzenie na Clojure i ClojureScript ułatwia podjęcie sensownych decyzji architektonicznych.
Współbieżność i ścieżki rozwoju w ekosystemie Clojure
Wątek współbieżności wraca tu nie bez powodu: kiedy aplikacja zaczyna przetwarzać zdarzenia, kolejki zadań albo rosnące strumienie danych, model pracy ze stanem staje się kluczowy. Lektury z tej kategorii pomagają przełożyć koncepcje (tożsamość kontra stan, niemutowalność) na codzienność: od debugowania w REPL-u po spokojniejsze podejście do zmian w systemie. Z perspektywy kariery to sensowny kierunek dla osób, które celują w tworzenie usług na JVM, aplikacje data-centric albo rozwój narzędzi i automatyzacji, a przy okazji chcą myśleć bardziej funkcyjnie, bez ciągłej walki z efektami ubocznymi.
Jeśli masz ochotę poszerzyć warsztat o inne technologie, zajrzyj też do podkategorii Języki programowania i porównaj podejścia różnych ekosystemów do pracy z danymi oraz współbieżnością.