Szczegóły ebooka

F# 4.0 dla zaawansowanych. Wydanie IV

F# 4.0 dla zaawansowanych. Wydanie IV

Don Syme, Adam Granicz, Antonio Cisternino

Ebook
Język F# jest nowoczesnym, lecz dojrzałym językiem programowania, który zyskuje coraz większą popularność. Ułatwia on korzystanie z kilku paradygmatów programowania: programowania funkcyjnego, obiektowego i imperatywnego. Został zaprojektowany do pisania prostego, solidnego i wydajnego kodu, lecz przydaje się do rozwiązywania złożonych problemów. Kod w F# jest zwięzły i efektywny. Sam F# jest projektem open source, jednak stanowi część platformy .NET. To wszystko czyni z niego język przyszłości!

Trzymasz w ręku kompletny przewodnik po języku F#, w którym wyczerpująco przedstawiono informacje niezbędne do rozpoczęcia pracy w tej technologii. Zwięźle opisano tu paradygmaty obsługiwane przez F#, a następnie pokazano, w jaki sposób można posłużyć się tym językiem do rozwiązywania problemów z siecią, danymi, programowaniem równoległym i analizami. W ten sposób nauczysz się stosować wspomniane paradygmaty i używać kwerend, co pozwoli Ci osiągnąć wysoką produktywność w pisaniu programów dla wielu systemów i technologii.

W tej książce znajdziesz:
  • wyjaśnienie paradygmatów programowania funkcyjnego, obiektowego i imperatywnego
  • kompletne informacje na temat najnowszej wersji języka F#
  • instrukcje dotyczące projektowania bibliotek języka F#
  • wskazówki dotyczące pisania hermetycznego i uporządkowanego kodu
  • zagadnienia programowania reaktywnego, asynchronicznego i równoległego
  • techniki rozwiązywania problemów programistycznych za pomocą F#

Z językiem F# rozwiązywanie problemów stanie się przyjemnością!


Don Syme — jest architektem języka F#. Brał udział w rozwijaniu typów generycznych w C# i technologii .NET Common Language Runtime. W 2015 roku został odznaczony Srebrnym Medalem Królewskiej Akademii Inżynierii.
Adam Granicz — ma 10-letnie doświadczenie w pracy z językiem F#. Pracuje nad narzędziem WebSharper — podstawowym środowiskiem dla języka F#. Regularnie pisze artykuły i zabiera głos na konferencjach.
Antonio Cisternino — jest profesorem Uniwersytetu w Pizie we Włoszech. Zajmuje się głównie metaprogramowaniem i budową architektury systemów. Od kilku lat korzysta z F# i bierze udział w rozwijaniu tego języka.

O autorach (9)

O recenzentach technicznych (11)

Podziękowania (13)

Rozdział 1. Wprowadzenie (15)

  • Geneza języka F# (16)
  • O książce (17)
  • Dla kogo przeznaczona jest ta książka? (20)

Rozdział 2. Pierwszy program w F# - wprowadzenie do języka (21)

  • Tworzenie pierwszego programu w F# (21)
  • Używanie bibliotek obiektowych w F# (33)
  • Pobieranie i używanie pakietów (35)
  • Dostęp do zewnętrznych danych za pomocą pakietów języka F# (37)
  • Uruchamianie serwera WWW i udostępnianie danych za pomocą pakietów języka F# (38)
  • Podsumowanie (39)

Rozdział 3. Wprowadzenie do programowania funkcyjnego (41)

  • Liczby i łańcuchy znaków (41)
  • Stosowanie instrukcji warunkowych oraz operatorów && i || (44)
  • Definiowanie funkcji rekurencyjnych (44)
  • Listy (46)
  • Opcje (49)
  • Wprowadzenie do dopasowywania do wzorca (50)
  • Wprowadzenie do wartości w postaci funkcji (54)
  • Podsumowanie (63)

Rozdział 4. Wprowadzenie do programowania imperatywnego (65)

  • Programowanie funkcyjne a programowanie imperatywne (65)
  • Pętle i iteracje w programowaniu imperatywnym (66)
  • Używanie modyfikowalnych rekordów (68)
  • Używanie modyfikowalnych wiązań let (70)
  • Praca z tablicami (71)
  • Wprowadzenie do imperatywnych kolekcji platformy .NET (74)
  • Wyjątki i ich kontrolowanie (78)
  • Wywoływanie efektów ubocznych - podstawowe operacje wejścia - wyjścia (81)
  • Łączenie programowania funkcyjnego z wydajnymi wstępnymi obliczeniami i pamięcią podręczną z programowania imperatywnego (84)
  • Łączenie podejścia funkcyjnego z imperatywnym - programowanie funkcyjne z efektami ubocznymi (91)
  • Podsumowanie (95)

Rozdział 5. Typy w programowaniu funkcyjnym (97)

  • Przegląd wybranych prostych definicji typów (97)
  • Wprowadzenie do typów generycznych (102)
  • Pisanie kodu w wersji generycznej (110)
  • Więcej o typach różnego rodzaju (115)
  • Wprowadzenie do tworzenia typów pochodnych (116)
  • Rozwiązywanie problemów z inferencją typów (120)
  • Podsumowanie (125)

Rozdział 6. Programowanie z wykorzystaniem obiektów (127)

  • Wprowadzenie do obiektów i składowych (127)
  • Używanie klas (130)
  • Dodawanie innych aspektów notacji obiektowej do typów (133)
  • Definiowanie typów obiektowych o modyfikowalnym stanie (138)
  • Wprowadzenie do interfejsowych typów obiektowych (141)
  • Inne techniki implementowania obiektów (146)
  • Łączenie podejścia funkcyjnego i obiektów - zwalnianie zasobów (151)
  • Rozszerzanie istniejących typów i modułów (157)
  • Używanie obiektów języka F# i typów platformy .NET (160)
  • Podsumowanie (163)

Rozdział 7. Hermetyzacja i porządkowanie kodu (165)

  • Ukrywanie elementów (165)
  • Porządkowanie kodu za pomocą przestrzeni nazw i modułów (170)
  • Projekty, podzespoły i kolejność kompilacji (174)
  • Posługiwanie się plikami z sygnaturami (179)
  • Ponowne wykorzystanie kodu (181)
  • Tworzenie i udostępnianie pakietów (181)
  • Podsumowanie (182)

Rozdział 8. Praca z danymi tekstowymi (183)

  • Budowanie łańcuchów znaków i formatowanie danych (183)
  • Parsowanie łańcuchów znaków i danych tekstowych (188)
  • Stosowanie wyrażeń regularnych (190)
  • Używanie XML-a do reprezentowania formatów konkretnych (195)
  • Użycie JSON-a do reprezentowania formatów konkretnych (201)
  • Rekurencyjne parsowanie zstępujące (204)
  • Parsowanie i formatowanie binarne (207)
  • Podsumowanie (211)

Rozdział 9. Praca z sekwencjami i danymi o strukturze drzewiastej (213)

  • Wprowadzenie do sekwencji (213)
  • Więcej o pracy z sekwencjami (219)
  • Struktura poza sekwencjami - modelowanie dziedzin (227)
  • Wzorce aktywne - widoki danych strukturalnych (234)
  • Sprawdzanie równości, haszowanie i porównywanie (239)
  • Wywołania ogonowe i programowanie rekurencyjne (244)
  • Podsumowanie (251)

Rozdział 10. Programowanie z użyciem liczb i wykresy (253)

  • Wprowadzenie do FsLab (253)
  • Tworzenie podstawowych wykresów za pomocą biblioteki FSharp.Charting (254)
  • Podstawowe literały i typy liczbowe (255)
  • Sekwencje, statystyka i kody liczbowe (259)
  • Statystyki, algebra liniowa i rozkłady w bibliotece Math.NET (266)
  • Szeregi czasowe, ramki danych i biblioteka Deedle (271)
  • Jednostki miary (273)
  • Podsumowanie (279)

Rozdział 11. Programowanie reaktywne, asynchroniczne i równoległe (281)

  • Wprowadzenie do terminologii (282)
  • Zdarzenia (283)
  • Operacje asynchroniczne (286)
  • Agenty (296)
  • Przykład: asynchroniczny agent do obsługi robota internetowego (301)
  • Współbieżność oparta na współużytkowanej pamięci (305)
  • Podsumowanie (310)

Rozdział 12. Programowanie symboliczne z użyciem danych strukturalnych (311)

  • Sprawdzanie układów za pomocą rachunku zdań (311)
  • Upraszczanie wyrażeń i różniczkowanie (325)
  • Podsumowanie (336)

Rozdział 13. Integrowanie zewnętrznych danych i usług (337)

  • Podstawowe żądania REST (338)
  • Wprowadzenie do kwerend (341)
  • Inne możliwości związane z SQL-em (346)
  • Podsumowanie (353)

Rozdział 14. Budowanie inteligentnych aplikacji sieciowych (355)

  • Bezpośrednie udostępnianie treści w sieci (355)
  • Rozwijanie aplikacji sieciowych z rozbudowanym klientem za pomocą platformy WebSharper (360)
  • Podsumowanie (406)

Rozdział 15. Wizualizacje i graficzny interfejs użytkownika (407)

  • Wprowadzenie do biblioteki Eto (407)
  • Jak błyskawicznie zbudować aplikację "Witaj, świecie!"? (408)
  • Budowa aplikacji graficznej (409)
  • Łączenie kontrolek i menu (410)
  • Łączenie elementów w interfejs użytkownika (413)
  • Rysowanie aplikacji (416)
  • Tworzenie przeglądarki fraktali ze zbioru Mandelbrota (420)
  • Pisanie własnych kontrolek (431)
  • Świat, wygląd i układy współrzędnych (435)
  • Lekkie kontrolki (444)
  • Podsumowanie (450)

Rozdział 16. Programowanie zorientowane na język (451)

  • Wyrażenia reprezentujące obliczenia (452)
  • Używanie mechanizmu refleksji w F# (466)
  • Cytowania w języku F# (470)
  • Tworzenie dostawców typów w F# (474)
  • Podsumowanie (476)

Rozdział 17. Biblioteki i współdziałanie (477)

  • Typy, pamięć i współdziałanie (477)
  • Biblioteki - ogólny przegląd (478)
  • Używanie typów systemowych (481)
  • Inne struktury danych z języka F# i platformy .NET (482)
  • Nadzorowanie i izolowanie wykonywania kodu (484)
  • Dodatkowe biblioteki związane z refleksją (484)
  • Na zapleczu - współdziałanie z C# i innymi językami platformy .NET (487)
  • Współdziałanie z językami C i C++ za pomocą technologii PInvoke (490)
  • Podsumowanie (500)

Rozdział 18. Pisanie i testowanie kodu w F# (501)

  • Pisanie kodu (501)
  • Efektywne używanie F# Interactive (507)
  • Używanie diagnostyki z użyciem śledzenia kodu (510)
  • Debugowanie kodu z użyciem środowiska IDE (513)
  • Testowanie kodu (516)
  • Podsumowanie (521)

Rozdział 19. Projektowanie bibliotek języka F# (523)

  • Projektowanie standardowych bibliotek platformy .NET (524)
  • Metodyka projektowania funkcyjnego (528)
  • Dobry projekt bibliotek w F# (530)
  • Wybrane zalecane idiomy (537)
  • Podsumowanie (539)

Ddodatek. Krótki przewodnik po języku F# (541)

  • Komentarze i atrybuty (541)
  • Typy podstawowe i literały (541)
  • Typy (542)
  • Wzorce i dopasowywanie (542)
  • Funkcje, kompozycja i potoki (543)
  • Wiązanie i sterowanie przepływem (543)
  • Wyjątki (544)
  • Krotki, tablice, listy i kolekcje (544)
  • Operatory (545)
  • Definicje typów i obiekty (546)
  • Przestrzenie nazw i moduły (547)
  • Przepływy pracy i wyrażenia reprezentujące sekwencje (548)
  • Kwerendy i cytowania (549)

Skorowidz (551)

  • Tytuł: F# 4.0 dla zaawansowanych. Wydanie IV
  • Autor: Don Syme, Adam Granicz, Antonio Cisternino
  • Tytuł oryginału: Expert F# 4.0, 4th Edition
  • Tłumaczenie: Tomasz Walczak
  • ISBN: 978-83-283-2944-7, 9788328329447
  • Data wydania: 2017-01-16
  • Format: Ebook
  • Identyfikator pozycji: f4zaa4
  • Wydawca: Helion