Article View: pl.comp.lang.funkcyjne
Article #970Języki funkcyjne (F#, Clojure, OCaml) a kwestia "wyższej" matematyki, rachunku lambda itd
From: pawellt2015
Date: Tue, 17 Jan 2017 19:36
Date: Tue, 17 Jan 2017 19:36
15 lines
2743 bytes
2743 bytes
Witam Od jakiegoś czasu programuje w językach obiektowych/imperatywnych. Z typowej matematyki znam pewnie arytmetykę: mnożenie, dzielenie, potęgowanie, pierwiastkowanie, podstawy logiki, pamiętam co to funkcja liniowa :) W zasadzie nigdy żadne zaawansowane zagadnienia matematyczne nie były mi w trakcie programowania w PHP, czy Javie potrzebne. No i naszła mnie chęć na naukę jakiegoś języka funkcyjnego, zmianę paradygmatu. Pewnie postawię na F#, bo jest open source, dostępny na Linuksa/Windows/MacOSX i nie jest tak "ortodoksyjny" jak Haskell. Zastanawiam się teraz, czy żeby sprawnie poznać te języki, faktycznie powinienem ogarniać matematyczny rachunek lambda, matematyczne przekształcanie, "zwijanie" i "rozwijanie" funkcji itd? Zakładając że nie będę zajmował się "optymalizacją algorytmów" czy stricte matematycznymi zagadnieniami, a po prostu programowaniem użytkowym? Zasadniczo jak się spojrzy na różne książki/przykłady, to lambda jest w zasadzie funkcją anonimową, a zwijanie funkcji (currying) w językach funkcyjnych - to w zasadzie przekształcenie funkcji, która przyjmuje wiele argumentów, na taką która zwraca 1 argument. Ot najprostszy przykład: max 4 5 (max 4) 5 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? P. Paweł
Technical Details
Message-ID:
<aebb68c4-f04b-4566-8d4a-1afb7e4173a7@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!news.glorb.com!r185no2061970ita.0!news-out.google.com!h135ni6646ith.0!nntp.google.com!r185no2063734ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 10.36.43.16 with SMTP id h16mr5520677ita.31.1484681765394; Tue, 17 Jan 2017 11:36:05 -0800 (PST) X-Received: by 10.157.62.29 with SMTP id a29mr3105716otd.5.1484681765358; Tue, 17 Jan 2017 11:36:05 -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!news.glorb.com!r185no2061970ita.0!news-out.google.com!h135ni6646ith.0!nntp.google.com!r185no2063734ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.funkcyjne Date: Tue, 17 Jan 2017 11:36:05 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=95.160.154.37; posting-account=vWocFQoAAAAn1nX3XnhT6QQ6-Dh0pykn NNTP-Posting-Host: 95.160.154.37 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <aebb68c4-f04b-4566-8d4a-1afb7e4173a7@googlegroups.com> Subject: Języki funkcyjne (F#, Clojure, OCaml) a kwestia "wyższej" matematyki, rachunku lambda itd From: pawellt2015@gmail.com Injection-Date: Tue, 17 Jan 2017 19:36:05 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit