- promocja
Programowanie w języku Clojure - ebook
Programowanie w języku Clojure - ebook
Przewodnik po Clojure dla każdego!
Clojure to jeden z najciekawszych współczesnych języków programowania funkcyjnego. Jest obecny na rynku od pięciu lat. Język jest oparty o wirtualną maszynę języka Java i zachęca użytkowników do programowania współbieżnego. W ostatnim czasie Clojure gwałtownie zdobywa popularność i uznanie wśród programistów. Dzieje się tak, ponieważ jest dobrze przemyślany i wspaniale zaprojektowany, kryje w sobie potencjał języka Lisp, a do tego jest szybki i działa na dobrze znanej wszystkim wirtualnej maszynie.
Ta książka to kompletny przewodnik po Clojure. Lekturę zaczniesz od poznania jego zalet, składni i zasad programowania. W momencie, kiedy zbudujesz solidne fundamenty, przejdziesz do nauki programowania funkcyjnego, które wymaga pewnej zmiany w sposobie myślenia. Ale nie martw się, z tą książką przyjdzie Ci to z łatwością! W kolejnych rozdziałach skupisz się na programowaniu współbieżnym, protokołach, typach danych i makrach. Zobaczysz również, jak za pomocą Clojure stworzyć klasę języka Java, oraz zaznajomisz się z procesem tworzenia kompletnej aplikacji korzystającej z Clojure. Jeżeli chcesz poszerzyć swoje horyzonty programistyczne, trafiłeś na idealną książkę. Ta inwestycja się opłaci!
Poznaj zalety Clojure:
- potencjał języka Lisp
- programowanie funkcyjne i współbieżne
- uporządkowaną i przemyślaną architekturę
- zasięg wirtualnej maszyny Java
- morze nowych możliwości!
Zmień myślenie na funkcyjne!
Spis treści
Podziękowania (10)
Przedmowa do wydania drugiego (11)
Przedmowa do wydania pierwszego (13)
Wstęp (15)
Rozdział 1. Wprowadzenie (23)
- 1.1. Dlaczego Clojure? (24)
- 1.2. Szybkie wprowadzenie do programowania w Clojure (34)
- 1.3. Biblioteki języka Clojure (40)
- 1.4. Podsumowanie (44)
Rozdział 2. Przegląd języka Clojure (45)
- 2.1. Konstrukcje składniowe (46)
- 2.2. Makra odczytu (55)
- 2.3. Funkcje (56)
- 2.4. Zmienne, wiązania i przestrzenie nazw (61)
- 2.5. Wywoływanie kodu Javy (68)
- 2.6. Przepływ sterowania (70)
- 2.7. Gdzie się podziała pętla for? (74)
- 2.8. Metadane (77)
- 2.9. Podsumowanie (79)
Rozdział 3. Ujednolicanie danych za pomocą sekwencji (81)
- 3.1. Wszystko jest sekwencją (83)
- 3.2. Stosowanie biblioteki sekwencji (87)
- 3.3. Sekwencje nieskończone i "leniwe" (96)
- 3.4. W Clojure Java jest sekwencyjna (98)
- 3.5. Funkcje przeznaczone dla konkretnych struktur (104)
- 3.6. Podsumowanie (113)
Rozdział 4. Programowanie funkcyjne (115)
- 4.1. Zagadnienia z obszaru programowania funkcyjnego (116)
- 4.2. Jak stosować "leniwe" podejście? (121)
- 4.3. Leniwsze niż leniwe (130)
- 4.4. Jeszcze o rekurencji (136)
- 4.5. Podsumowanie (146)
Rozdział 5. Stan (147)
- 5.1. Współbieżność, równoległość i blokady (148)
- 5.2. Referencje i pamięć STM (150)
- 5.3. Nieskoordynowane i synchroniczne aktualizacje za pomocą atomów (157)
- 5.4. Stosowanie agentów do asynchronicznego aktualizowania danych (158)
- 5.5. Zarządzanie stanem specyficznym dla wątku za pomocą zmiennych (163)
- 5.6. Gra Snake w języku Clojure (168)
- 5.7. Podsumowanie (178)
Rozdział 6. Protokoły i typy danych (179)
- 6.1. Programowanie z wykorzystaniem abstrakcji (180)
- 6.2. Interfejsy (183)
- 6.3. Protokoły (184)
- 6.4. Typy danych (188)
- 6.5. Rekordy (193)
- 6.6. Makro reify (198)
- 6.7. Podsumowanie (199)
Rozdział 7. Makra (201)
- 7.1. Kiedy należy stosować makra? (202)
- 7.2. Makro do sterowania przebiegiem programu (202)
- 7.3. Upraszczanie makr (209)
- 7.4. Taksonomia makr (214)
- 7.5. Podsumowanie (224)
Rozdział 8. Wielometody (225)
- 8.1. Życie bez wielometod (226)
- 8.2. Definiowanie wielometod (228)
- 8.3. Więcej niż proste wybieranie metod (231)
- 8.4. Tworzenie doraźnych taksonomii (233)
- 8.5. Kiedy należy korzystać z wielometod? (237)
- 8.6. Podsumowanie (241)
Rozdział 9. Sztuczki z Javą (243)
- 9.1. Obsługa wyjątków (244)
- 9.2. Zmagania z liczbami całkowitymi (248)
- 9.3. Optymalizowanie wydajności (250)
- 9.4. Tworzenie klas Javy w języku Clojure (255)
- 9.5. Praktyczny przykład (261)
- 9.6. Podsumowanie (268)
Rozdział 10. Tworzenie aplikacji (269)
- 10.1. Wynik w grze Clojurebreaker (270)
- 10.2. Testowanie kodu zwracającego wynik (274)
- 10.3. Biblioteka test.generative (278)
- 10.4. Tworzenie interfejsu (287)
- 10.5. Instalowanie kodu (292)
- 10.6. Pożegnanie (295)
Dodatek A. Edytory kodu (297)
Dodatek B. Bibliografia (299)
Skorowidz (301)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-7371-1 |
Rozmiar pliku: | 2,8 MB |