We wtorek, 20 kwietnia, Akademickie Stowarzyszenie Informatyczne zaprasza na kolejny z serii wykładów Linux Academy. Tym razem poruszymy tematykę programowania funkcjonalnego.
Już w najbliższy wtorek, 20 kwietnia, w sali 2.17 w budynku C-13 Politechniki Wrocławskiej o godzinie 17:00 zapraszamy na kolejny wykład, którego tematem będzie programowanie funkcjonalne.
Na przykładzie języka Haskell dowiemy się, jak zacząć programowanie funkcjonalne, czym skompilować napisane w haskellu programy, jak to się ma do programowania w C, a także poznamy co to jest leniwe wartościowanie, monady czy statyczny polimorfizm. Jeśli doczytaliście do tego momentu i nie jesteście przerażeni to oznacza, że warto się zabrać za programowanie w Haskellu i poznać jego mocne strony: czytelna składnia i wsparcie dla środowisk wieloprocesorowych potrafią wynagrodzić małe trudy związane z poznaniem nowego języka.
Wstęp na wykład jest bezpłatny. Zapraszamy!


Ech, gdyby to było w Łodzi to chętnie bym się wybrał…
Funkcyjne czy funkcjonalne?
Ktoś mógłby to ostatecznie wyjaśnić, bo oba terminy są używane.
Funkcjonalny to może być kredens.
Jezeli przez to wypowiedz chcesz nam przekazac, ze haskell nie jest funkcjonalny to bardzo zle dla tego jezyka(o ile sie nie mylisz).
Większość języków jest funkcjonalna (może prócz takich egzotyków jak Brainf*ck, ale nawet on ma jąkąś funkcjonalność…), Haskell nie jest wyjątkiem.
Jeżeli chodzi o Haskell to funkcyjne.
Angielskie słowo functional oznacza jednoczesnie funkcjonalny, czyli użyteczny oraz funkcyjny. Nazwa jest grą słowną (ang: pun) i ma podkreślić zarówno użyteczność tego paradygmatu, jak i jego nacisk na obliczenia poprzez ewaluację wyrażeń-funkcji (a nie wykonywanie sekwencji operacji modyfikujących stan programu).
W języku polskim słowa funkcyjny i funkcjonalny nie są niestety synonimami, więc podobna gra słowna nie zadziała. Dlatego, moim zdaniem, poprawną nazwą jest funkcyjny, gdyż podkreśla istotę tego paradygmatu. W końcu funkcjonalne (często bardziej) są rownież języki imperatywne.
Niestety polskie środowisko IT ma patologiczną skłonność do używania obrzydliwych i bezsensownych kalek językowych tworzonych w oparciu o podobieństwo fonetyczne, a nie semantyczne słow – stąd popularne „komory”, „funkcjonalności”, „utylizacje” i tym podobne potworki. I niestety to środowisko pozostaje głuche na jakiekolwiek głosy rozsądku…
Z tymi komorami to coś mi padło na mózg. Ale podtrzymuje swoje zdanie co do tendencji.
@asd: Nie padlo ci – baterie maja ogniwa, ale czesto tlumoczy sie to jako „komory”.
Co do tego nie mam żadnej wątpliwości, komory są „be” i mnie bolą zęby, gdy je widzę.
Ale to nie kalka poprzez podobieństwo fonetyczne, jak w przypadku utylizacji, tylko konsekwentnie błędne tłumaczenie – cell -> komora, zamiast cell -> ogniwo.
ale już battery -> bateria nie razi?
pozwolę sobie powtórzyć tłumaczenie "cell" za ułomnym tłumaczem dziadka
googla:
komórka
cela
bateria
elektrolizer
ogniwo
rozmnóżka
Technicznie rzecz biorąc bateria = (jakoś połączony) zespół.
Tak więc baterią można nazwać np.
– ogniwo R6 (popularny paluszek)
– akumulator
– dwóch żołnierzy
– dwie zapałki w pudełku
http://pl.wikipedia.org/wiki/Bateria
http://sjp.pwn.pl/haslo.php?id=2551828
Ale tłumaczenie cell jako cela to haniebny błąd (chyba że mamy do czynienia z akumulatorem który zazwyczaj w sobie posiada tzw. cele [coś jak ogniwo ale jest pewna skromna różnica]).
BTW. Jak nazwać takie coś co mi leży pod stołem (i trzyma mi podkręconego kompa na full + monitor + parę innych przez 3h)?
Jeszczw w temacie kamienowania… 😉
Po chwili głębszej zadumy – funkcjonalny to nie do końca jest użyteczny (a raczej wcale). Resztę podtrzymuję… 🙂
http://pl.wikipedia.org/wiki/Funkcjonał
W zasadzie to to samo, tak jak rekursja i rekurencja.
Tak, tak, to stały argument zwolenników programowania funkcjonalnego. Tylko jeszcze odpowiedz sobie sam na pytanie co ma wspólnego rachunek lambda, czy programowanie funkcyjne z funkcjonałami…
Masz rację, pomyliło mi się z funktorami. 😉
Dokładnie to samo. Jedno jest po polsku, drugie po polskawemu. Rekursja to słowo nieistniejące w jezyku polskim. Kalka z łaciny lub angielskiego recursion. Coś jak autentykacja – neologizm wprowadzony przez niegramotnych, którzy "spolszczają" słowa, zamiast zajrzeć do słownika…
Ale sporo słów to kalki: funckja, komputer, program, etc.
Czy zostanie opublikowane nagranie audio i slajdy z tego wykładu?
Inna sprawa jakie większe projekty są pisane w haskellu ?
Za dużo klepaczy kodu pracuje przy większych projektach.
Xmonad?
Faktycznie Xmonad 🙂
Z ciekawostek znalazłem jeszcze to :
http://programatica.cs.pdx.edu/House/
http://www.haskell.org/haskellwiki/Frag