🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#976
From: pawellt2015
Date: Sun, 22 Jan 2017 13:07
19 lines
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-mail
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>

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