Szczegóły ebooka

Programowanie funkcyjne. Krok po kroku

Programowanie funkcyjne. Krok po kroku

Joshua Backfield

Ebook

Zmień swoje podejście do programowania!

Języki funkcyjne zdobywają wśród programistów coraz większą popularność. Jak bezboleśnie zmienić sposób myślenia na funkcyjny? Ułatwi Ci to niniejsza książka, w całości poświęcona temu podejściu do programowania.

Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów dowiedz się, czym są ewaluacja rygorystyczna i nierygorystyczna. Zobacz też, jak wykonać dopasowanie do wzorca. Co jeszcze znajdziesz w tej książce? Wprowadzenie do języka Scala, przedstawienie języka Groovy oraz opis technik funkcyjnego programowania obiektowego to tylko niektóre z poruszanych w niej tematów. Jeżeli chcesz zmienić sposób programowania na funkcyjny, to doskonała pozycja dla Ciebie!
  • Dowiesz się, czemu obecne sprawnie działające aplikacje lepiej funkcjonują z kodem funkcyjnym.
  • Przejdziesz od wzorców stylu imperatywnego do kodu funkcyjnego w kilku podstawowych krokach.
  • Przyspieszysz z językami Groovy i Scala dzięki przykładom.
  • Zrozumiesz, w jaki sposób typy funkcyjne są przekazywane do innych funkcji i zwracane z nich.
  • Przekonwertujesz istniejące metody na funkcje czyste, a pętle na metody rekurencyjne.
  • Przejdziesz od zmiennych mutowalnych do niemutowalnych.
  • Uzyskasz praktyczne doświadczenie w zakresie stosowania instrukcji oraz ewaluacji nierygorystycznej.
  • Będziesz stosował programowanie funkcyjne z elementami programowania obiektowego.

Przekonaj się, jak podejście funkcyjne może ułatwić Ci życie!

Przedmowa (7)

1. Wprowadzenie (15)

  • Przegląd koncepcji programowania funkcyjnego (15)
    • Typy funkcyjne (16)
    • Funkcje czyste (16)
    • Rekurencja (16)
    • Zmienne niemutowalne (16)
    • Ewaluacja nierygorystyczna (16)
    • Instrukcje (17)
    • Dopasowywanie do wzorca (17)
  • Programowanie funkcyjne i współbieżność (17)
  • Podsumowanie (18)

2. Typy funkcyjne (19)

  • Wprowadzenie do firmy XXY (19)
  • Funkcje jako obiekty (22)
    • Refaktoryzacja przy użyciu struktur if-else (22)
    • Refaktoryzacja przy użyciu obiektów funkcji do wyodrębniania pól (24)
  • Funkcje anonimowe (30)
    • Funkcje lambda (30)
    • Domknięcia (33)
  • Funkcje wyższego rzędu (35)
  • Refaktoryzacja funkcji get za pomocą języka Groovy (37)
  • Podsumowanie (38)

3. Funkcje czyste (41)

  • Dane wyjściowe zależą od danych wejściowych (41)
  • Oczyszczanie funkcji (45)
  • Skutki uboczne (50)
  • Podsumowanie (53)
    • Przestawianie się na język Groovy (54)

4. Zmienne niemutowalne (59)

  • Mutowalność (59)
  • Niemutowalność (65)
  • Podsumowanie (71)

5. Rekurencja (73)

  • Wprowadzenie do rekurencji (74)
  • Rekurencja (77)
  • Rekurencja ogonowa (80)
  • Refaktoryzacja funkcji countEnabledCustomersWithNoEnabledContacts (81)
  • Podsumowanie (83)
    • Wprowadzenie do języka Scala (84)

6. Ewaluacje rygorystyczne i nierygorystyczne (87)

  • Ewaluacja rygorystyczna (88)
  • Ewaluacja nierygorystyczna (leniwa) (89)
  • Leniwość może stwarzać problemy (93)
  • Podsumowanie (96)

7. Instrukcje (99)

  • Skok na głęboką wodę (100)
  • Proste instrukcje (100)
  • Instrukcje blokowe (102)
  • Wszystko jest instrukcją (104)
  • Podsumowanie (112)

8. Dopasowywanie do wzorca (113)

  • Proste dopasowania (113)
  • Proste wzorce (115)
  • Wyodrębnianie listy (118)
  • Wyodrębnianie obiektów (120)
  • Konwersja na dopasowywanie do wzorca (122)
  • Podsumowanie (124)

9. Funkcyjne programowanie obiektowe (125)

  • Hermetyzacja statyczna (125)
  • Obiekty jako kontenery (127)
  • Kod jako dane (129)
  • Podsumowanie (132)

10. Podsumowanie (134)

  • Od imperatywności do funkcyjności (134)
    • Wprowadzenie funkcji wyższego rzędu (135)
    • Konwersja istniejących metod na funkcje czyste (135)
    • Konwersja pętli na metody rekurencyjne lub ogonoworekurencyjne (136)
    • Konwersja zmiennych mutowalnych na niemutowalne (136)
    • Co dalej? (136)
  • Nowe wzorce projektowe (137)
    • Przekazywanie komunikatów dla osiągnięcia współbieżności (137)
    • Wzorzec Opcja (rozszerzenie wzorca Pusty Obiekt) (137)
    • Czystość metody singletona z zachowaniem obiektowości (138)
  • Wszystko razem (139)
  • Podsumowanie (147)

Skorowidz (149)

  • Tytuł: Programowanie funkcyjne. Krok po kroku
  • Autor: Joshua Backfield
  • Tytuł oryginału: Becoming Functional
  • Tłumaczenie: Lech Lachowski
  • ISBN: 978-83-283-0246-4, 9788328302464
  • Data wydania: 2015-03-12
  • Format: Ebook
  • Identyfikator pozycji: pfukpk
  • Wydawca: Helion