Programowanie funkcyjne

Mraauuu
Użytkownik
Użytkownik
Posty: 66
Rejestracja: 21 gru 2008, o 13:05
Płeć: Mężczyzna
Lokalizacja: Trzebnica
Podziękował: 3 razy
Pomógł: 11 razy

Programowanie funkcyjne

Post autor: Mraauuu »

Ktoś mi zasugerował, że z dobrym podłożem matematycznym warto zaznajomić się z programowaniem funkcyjnym, niż np. z C++.

Zacząłem więc szukać coś o tym sposobie programowania, ale nic ciekawego, co byłoby przystępne, nie znalazłem.
Czy ktoś mógłby napisać coś o nich?
Np. gdzie i kiedy warto je stosować?
Czy można znaleźć pracę korzystającą z tego i gdzie?
Od czego warto zacząć?

Z góry dziękuję.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Programowanie funkcyjne

Post autor: Afish »

Programowanie w językach czysto funkcyjnych nie jest bardzo popularne, języki te są dobre do modelowania zależności matematycznych, ale do tworzenia typowego soft (przez co rozumiem aplikacje webowe, korzystanie z webservice'ów, obsługę baz danych itp) już nie za bardzo. Wynika to często z leniwości tych języków, stosunkowo dużego zużycia pamięci i często niższej wydajności. Jednakże w wielu językach imperatywnych występują elementy funkcyjne, które są bardzo przydatne i często wykorzystywane (lambdy, LINQ, map-reduce). Przy czym to wszystko zależy od sytuacji, bo przykładowo erlang ostatnio stał się bardzo popularny, a jest to język funkcyjny (a przynajmniej za taki się go uważa).
Jeżeli chodzi o zastosowanie tych języków, to wszystko zależy od okoliczności - kompilatory, modele matematyczne, dowodzenie poprawności, elementy wyszukiwarek (np. map-reduce) albo (typowe zastosowania erlanga) komunikatory internetowe, oprogramowanie dla operatorów telefonii komórkowej. Przykładów użycia jest sporo, niektóre języki nadają się bardziej, inne mniej.
Praca - w Krakowie ostatnio erlang jest popularny, znam też kogoś, kto programował w Haskellu. Oferty raczej nie są częste, więc wypadałoby trochę poszukać, ale obstawiam, że coś się znajdzie.
Od czego zacząć? Osobiście polecam Haskella i

Kod: Zaznacz cały

http://learnyouahaskell.com/
ODPOWIEDZ