11 lipca 2016

Mastering Clojure PACKT Akhil Wali - recenzja książki

https://www.packtpub.com/application-development/mastering-clojure

Po kilku miesiącach czytania kodu Clojure i wielu prób z programowaniem w tym języku, nadal nie mogę nadziwić się fenomenowi składni i ideii języka który zainspirował Clojure, czyli LISP. Zasadniczo programowanie w Clojure jest pisaniem w LISPie z wygodnym ekosystemem, jaki ofertuje host wirtualnej maszyny Java. W tym wątku chaiłbym wspomnieć, czego można się nauczyć z książki "Clojure PACKT Akhil Wali" i dlaczego uważam, że ta literatura jest dobrym uzupełnieniem wiedzy o Clojure.

NIe każda książka zaczyna sie zakręconym - ale zrazem zwracającym uwagę na szczegóły - kodem. Ta książka wyjątkowo posiada bardziej ambityny wstępniak. Wspominam o tym, abyście się po kilku pierwszych stronach do niej nie zrazili, czy nie porzucili czytania. Faktycznie autor prezentuje coś praktycznego, ale moim zdaniem nie do tego służą pierwsze rozdziały książek. Książka porusza i czytelnie opisuje aspekty takie jak:
  • praca z sekwencjami i wzorce stosowane w Clojure
  • orkiestracja w wielowątkowości i zrównoleglaniu zadań z przykładami
  • zrównoleglanie używające redukcji
  • metaprogramowanie z makrami
  • kompozycja elementów typu: transducers
  • wzmianka o teorii monad, funktorów, monoids, aplikowanie funktorów
  • wstęp do programowania logicznego na czytelnym przykładzie rozwiązanie Sudoku
  • taski asynchroniczne
  • wstęp do programowania reaktywnego
  • testowanie kodu
  • dobre / zalecane praktyki
Powyżej wymienione tematy są wytłumaczone dość jasno, każda linia jest skomentowana właściwie. Opisane są często fakty n.t. wewnętrznego działania Clojure i tricki, które za tym stoją. Jest to niewątpliwie ważne uzupełnienie wiedzy w tematyce języków funkcyjnych i implementacji wzorców funkcyjnych w Clojure w ramach wirtualnej maszyny JVM.

Jest jeszcze ostatnia myśl, która mi utwiła w pamięci i o której warto wspomnieć. Książka wyjątkowo gładko przenosi nas z jednego rozdziału do kolejnego. Byćmoże czytanie wcześniej n.t. Clojure w materiałach interenetowych spowodowało, że tak odbieram tą lekturę. Pomyślałem, że jest to wartość istotna, bo niewielu autorów książek przewija tematy w sposób płynny pomiędzy rozdziałami. Tak, polecam tą książkę o Clojure osobom zainteresowanym językiem programowania Clojure, który zyskał moim zdaniem godnego i wartościowego dialektu języka LISP