Article View: pl.comp.lang.funkcyjne
Article #976Re: Języki funkcyjne (F#, Clojure, OCaml) a kwestia "wyższej" matematyki, rachunku lambda itd
From: pawellt2015
Date: Sun, 22 Jan 2017 13:07
Date: Sun, 22 Jan 2017 13:07
19 lines
4164 bytes
4164 bytes
W dniu czwartek, 19 stycznia 2017 14:17:16 UTC+1 użytkownik godek....@gmail.com napisał: > Gdybyś chciał sobie zerknąć, to napisałem na zaliczenie projektu na studiach > książeczkę o tzw. "inteligencji obliczeniowej" w języku Scheme: > > http://panicz.github.io/pamphlet/ Dzięki :) Poczytałem, zapoznałem się. Poczytałem również trochę o F#, o Clojure, o Common Lisp i teraz to mam dopiero mętlik ;) Z jednej strony F# wydaje się ciekawy bo ma bardzo prostą, "czystą" i przejrzystą składnię wzorowaną na OCaml, z pewnymi najciekawszymi rozwiązaniami z Haskella. Mam silne typowanie, mam dostęp do ekosystemu .Net i Mono (całośc jest open source), do dziesiątków frameworków generujących JavaScript, wizualizujących dane itp itd. Nie ma różnych zaciemniających makr itd, jest potężne wsparcie Microsoftu i społeczności open source. Z drugiej strony fajna i "hipsterska" jest składnia lispowa, a taki Clojure z kolei ma dostęp do nie mniej potężnego ekosystemu Javy :) Społeczność też prężna. Tyle że tutaj dochodzi właśnie sporo zagadnień, które pewnie mogą być dużym utrudnieniem w nauce (makra, transduktory (odmiana funkcji redukujących), poężna retrospektywność języka)... Ponieważ masz duże doświadczenie w Scheme (a w końcu to pewna odmiana/podzbiór Lispa) i pewnie masz styczność ze środowiskiem "lispowatych" języków, to pozwolę sobie jeszcze dopytać o dwie kwestie: 1. Zakładając że wybrałbym Common Lispa lub Clojure (CL dla Javy), to czy faktycznie jest tak, jak się o Lispach mówi, że "w F# człowiek "rozwiązuje problem", a w rodzinie lispów "pisze się kod, który wygeneruje program, który rozwiąże problem"? Czyli dochodzi kolejna warstwa abstrakcji, która uwzględniając jeszcze makra i różne "meta-programowanie" mocno utrudnia naukę? 2. O co chodzi z tym twierdzeniem zwolenników Common Lispa, że nauka Scheme "utrudnia naukę Lispa" i generalnie z tą małą "świętą wojenką"? Jak tak czytam, to Scheme wygląda mi po prostu na uproszczonego Lispa. Czy w CL jest jakieś inne podejście/niuanse/wyraźne różnice, że tak się "odgradzają" od Scheme? Pytam z czystej ciekawości, bo zakładam że nie jestem świadomy wielu kwestii. Byłbym ogromnie wdzięczny za jakieś wyjaśnienie, bo pewnie i dla "potomnych newbies" się przyda ;) pozdrawiam
Technical Details
Message-ID:
<9b2f9e9d-2e67-4b17-a5e6-9624c0c847c7@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder1.iad1.usenetexpress.com!216.166.98.84.MISMATCH!border1.nntp.dca1.giganews.com!nntp.giganews.com!r185no1400374ita.0!news-out.google.com!h135ni6559ith.0!nntp.google.com!r185no1400367ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<aebb68c4-f04b-4566-8d4a-1afb7e4173a7@googlegroups.com> <49078b6d-512c-4f39-a6c1-3e6f266c5061@googlegroups.com> <dc1fa4d0-6ea8-4fcf-a794-cbb6ecfac0ea@googlegroups.com> <6b0eaacc-8422-4bc9-be80-e3a652d6c417@googlegroups.com> <bd9a4de5-a6c2-449a-9bba-ca3a89d7c5ce@googlegroups.com> <d8924739-c7b7-4511-809a-29cc1a53f5e9@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 10.99.217.21 with SMTP id r21mr24169pgg.144.1485090436622; Sun, 22 Jan 2017 05:07:16 -0800 (PST) X-Received: by 10.157.45.102 with SMTP id v93mr2132209ota.3.1485090436571; Sun, 22 Jan 2017 05:07:16 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder1.iad1.usenetexpress.com!216.166.98.84.MISMATCH!border1.nntp.dca1.giganews.com!nntp.giganews.com!r185no1400374ita.0!news-out.google.com!h135ni6559ith.0!nntp.google.com!r185no1400367ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.funkcyjne Date: Sun, 22 Jan 2017 05:07:16 -0800 (PST) In-Reply-To: <d8924739-c7b7-4511-809a-29cc1a53f5e9@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=95.160.154.62; posting-account=vWocFQoAAAAn1nX3XnhT6QQ6-Dh0pykn NNTP-Posting-Host: 95.160.154.62 References: <aebb68c4-f04b-4566-8d4a-1afb7e4173a7@googlegroups.com> <49078b6d-512c-4f39-a6c1-3e6f266c5061@googlegroups.com> <dc1fa4d0-6ea8-4fcf-a794-cbb6ecfac0ea@googlegroups.com> <6b0eaacc-8422-4bc9-be80-e3a652d6c417@googlegroups.com> <bd9a4de5-a6c2-449a-9bba-ca3a89d7c5ce@googlegroups.com> <d8924739-c7b7-4511-809a-29cc1a53f5e9@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <9b2f9e9d-2e67-4b17-a5e6-9624c0c847c7@googlegroups.com> Subject: Re: Języki funkcyjne (F#, Clojure, OCaml) a kwestia "wyższej" matematyki, rachunku lambda itd From: pawellt2015@gmail.com Injection-Date: Sun, 22 Jan 2017 13:07:16 +0000 Lines: 53 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit