🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #971

Re: Języki funkcyjne (F#, Clojure, OCaml) a kwestia "wyższej" matematyki, rachunku lambda itd

#971
From: godek.maciek
Date: Tue, 17 Jan 2017 22:14
38 lines
3604 bytes
W dniu wtorek, 17 stycznia 2017 20:36:05 UTC+1 użytkownik pawel...@gmail.com napisał:

> 
> Wiadomo że trzeba zmienić podejście w myśleniu o strukturach danych, ale czy Waszym zdaniem osoba która chce programować w takim F#, OCaml czy Haskellu powinna wziąć korki z matmy i poznać dobrze np. wspomniany rachunek lambda w matematyce?


Cześć.
Co do korków z matmy, to wydają się dziwnym pomysłem. Chyba
że byś chciał np. odświeżyć sobie pochodne funkcji, gdybyś tworzył
np. program do różniczkowania symbolicznego.
Jeżeli idzie o rachunek lambda, to jeżeli się zajmuje językiem
z perspektywy akademickiej, oczywiście warto go znać, ale w praktyce
w programowaniu w ogóle nie jest potrzebny i należy go traktować
raczej jako ciekawostkę (tzn. numerały Churcha czy kombinatory
punktu stałego uświadamiają, jak niewiele jest potrzebne do przeprowadzenia
dowolnego obliczenia, ale nie pomagają w codziennej praktyce). 

Jeśli Cię to ciekawi, to tutaj jest opracowane w dość przystępny sposób:

http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/

Ale bez tego można programować równie dobrze, a nawet lepiej.

Co do funkcyjnego podejścia, to najlepsza książka, z jaką miałem styczność,
to "Struktura i Interpretacja Programów Komputerowych" (angielska wersja
jest dostępna tu: https://mitpress.mit.edu/sicp/full-text/book/book.html)

Osobiście sądzę, że ta książka reprezentuje najzdrowsze podejście
do programowania. Jest też np. książka Byrda i Wadlera, która jednak
w moim odczuciu jest mocno niepraktyczna (aczkolwiek przeglądałem
ją tylko pobieżnie).

Tak czy inaczej, moim zdaniem programowanie funkcyjne to jest przede
wszystkim zdrowa dyscyplina przy projektowaniu programów (nabiera
znaczenia zwłaszcza przy większych programach, gdzie niespójność
kodu utrudnia wnioskowanie i rozbudowywanie), oraz narzędzie ekspresji,
i można ją uprawiać nawet w językach niefunkcyjnych, jak C czy Python.
Najważniejsze jest to, żeby pisać programy. 
Technical Details
Message-ID: <49078b6d-512c-4f39-a6c1-3e6f266c5061@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!2.us.feeder.erje.net!feeder.usenetexpress.com!feeder1.iad1.usenetexpress.com!216.166.98.84.MISMATCH!border1.nntp.dca1.giganews.com!nntp.giganews.com!q58no488qte.0!news-out.google.com!78ni46itm.0!nntp.google.com!r185no1505ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <aebb68c4-f04b-4566-8d4a-1afb7e4173a7@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.129.42.215 with SMTP id q206mr653911ywq.164.1484691271783;        Tue, 17 Jan 2017 14:14:31 -0800 (PST)
X-Received: by 10.157.18.211 with SMTP id g77mr2676881otg.14.1484691271709; Tue, 17 Jan 2017 14:14:31 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!2.us.feeder.erje.net!feeder.usenetexpress.com!feeder1.iad1.usenetexpress.com!216.166.98.84.MISMATCH!border1.nntp.dca1.giganews.com!nntp.giganews.com!q58no488qte.0!news-out.google.com!78ni46itm.0!nntp.google.com!r185no1505ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.funkcyjne
Date: Tue, 17 Jan 2017 14:14:31 -0800 (PST)
In-Reply-To: <aebb68c4-f04b-4566-8d4a-1afb7e4173a7@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=176.221.123.40; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 176.221.123.40
References: <aebb68c4-f04b-4566-8d4a-1afb7e4173a7@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <49078b6d-512c-4f39-a6c1-3e6f266c5061@googlegroups.com>
Subject: Re: Języki funkcyjne (F#, Clojure, OCaml) a kwestia
 "wyższej" matematyki, rachunku lambda itd
From: godek.maciek@gmail.com
Injection-Date: Tue, 17 Jan 2017 22:14:31 +0000
Lines: 57
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit