Читать книгу Programowanie funkcyjne w języku C#. Jak pisać lepszy kod - Enrico Buonanno - Страница 20
1.2.3 Bardziej funkcyjna przyszłość dla języka C#?
ОглавлениеGdy na początku 2016 roku pisałem pierwszy szkic tego rozdziału, wersja C# 7 była dopiero w stadium początkowym i niezwykle interesujące było, że wszystkie funkcje, którym zespół pracujący nad językiem poświęcał duże zainteresowanie, były funkcjami związanymi zazwyczaj z językami funkcyjnymi. Obejmowały one, co następuje:
■ Rekordy (łatwe w użyciu typy niemutowalne).
■ Algebraiczne typy danych (duże wzmocnienie systemu typów).
■ Dopasowanie do wzorca (podobne do instrukcji switch, która dotyczy kształtu danych, a nie ich wartości).
■ Lepsza składnia dla krotek.
Z jednej strony, zawodem było to, że udało się wprowadzić tylko ten ostatni element. C# 7 obejmuje też ograniczoną implementację dopasowywania do wzorca, ale jest to bardzo ubogie w stosunku do tego, co w tym zakresie udostępniono w językach funkcyjnych. To generalnie nieadekwatny sposób używania dopasowywania wzorców przy funkcyjnym programowaniu (patrz punkt 10.2.4).
Z drugiej strony, zmiany te są nadal negocjowane jako wariant dla przyszłych wersji i wykonano pewną pracę nad poszczególnymi propozycjami. Oznacza to, że prawdopodobne jest pojawienie się rekordów i pełniejszej implementacji dopasowywania do wzorca w kolejnych wersjach C#. Język C# jest też nastawiony na kontynuowanie ewolucji jako język o wielu paradygmatach, z rosnącym komponentem funkcyjnym.
Ta książka da nam dobre podstawy, aby śledzić ewolucję języka i rynku. Pomoże też w dobrym zrozumieniu pojęć i motywacji leżących u podstaw przyszłych wersji języka.