F# 4.0 dla zaawansowanych. Wydanie IV - ebook
F# 4.0 dla zaawansowanych. Wydanie IV - ebook
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.
Spis treści
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)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-2944-7 |
Rozmiar pliku: | 4,7 MB |