Article View: pl.comp.lang.funkcyjne
Article #1002Re: A co sądzicie o Scali?
From: godek.maciek
Date: Wed, 01 Feb 2017 19:39
Date: Wed, 01 Feb 2017 19:39
59 lines
4585 bytes
4585 bytes
W dniu wtorek, 31 stycznia 2017 21:14:03 UTC+1 użytkownik monisia...@gmail.com napisał: > Cały czas Common Lisp, Clojure, F#, Scheme, a co sądzicie o Scali? Przyznam, że nigdy nie programowałem w Scali, i że moja opinia jest raczej powierzchowna, niż oparta na doświadczeniu, jednak sądzę, że w świetle mojego głównego kryterium oceniania języków programowania -- jako sposobu wyrażania i komunikowania myśli -- może nie być całkowicie bezwartościowa. Scheme i Haskell są bardzo minimalistycznymi notacjami. Scheme jest minimalistyczny składniowo, zaś Haskell jest notacyjnie minimalistyczny. Z powodu swoich własności Scheme bardzo dobrze nadaje się do programowania na komputerze, a Haskell jest świetny do pisania w zeszycie/na tablicy (to nie jest żart). Oczywiście Haskell ma jeszcze wiele innych zalet. System typów Hindleya-Milnera sam w sobie jest znakomitą notacją pozwalającą na rozumowanie o programach (i szczerze mówiąc niezbyt dobrze komponuje się z Lispowym brakiem składni), zaś algebraiczno-teoriokategoryjny punkt widzenia, jaki narzuca na programy, choć często trudny do zrozumienia, jest intelektualnie rozwijający. Jeżeli idzie o F# i Clojure, to w ich przypadku dominuje pragmatyczno-narzędziowy aspekt programowania. W przeciwieństwie do Scheme'a i Haskella, one nie są środkami do wyrażania myśli, tylko do osiągania pewnych partykularnych celów. Wydaje mi się, że jeżeli idzie o środowisko webowe, Clojure dysponuje w tej chwili najlepszym ekosystemem. Wydaje mi się, że użycie F# w data science może też być przełomowe. Jeżeli idzie o Scalę, to ją usytuowałbym raczej w tej samej kategorii, co Clojure i F#, tyle że o ile składnia Clojure jest homoikoniczna (co ma przełożenie na projektowane w nim rozwiązania), zaś składnia F# jest raczej minimalistyczna, o tyle składnia Scali jest dziwna i w moim odczuciu brzydka. Wydaje mi się, że nie jest to język, który można by było kochać. Raczej mam wrażenie, jakby Odersky próbował przemycić różne "funkcyjne idee" do świata Javy, bo nie potrafię w inny sposób zrozumieć scalowych idiosynkrazji. Zresztą przyznam, że raczej niż z hasłem "programowanie funkcyjne", Scala kojarzy mi się z hasłem "the next Java", bo mam wrażenie, że zarówno integracja z JVM, jak i zakres zastosowań, wydaje się pokrywać z tym, do czego była i jest używana Java. (Z drugiej strony nie znam się ani na jednym, ani na drugim, więc mogę być w błędzie) Jeżeli idzie o makra w Scali, to mam wrażenie, że demonstrują przede wszystkim, jak duże komplikacje powoduje odejście od składni lispowej (szczególnie blado wypada w porównaniu z makrami syntax-rules w Schemie) Oczywiście, jeśli dla kogoś Scala "zarabia pieniądze", to dobrze [dla tego kogoś], ale nie dostrzegam w tym języku niczego interesującego z czysto intelektualnego punkty widzenia (z drugiej strony, to, że nie dostrzegam, nie oznacza, że tego tam nie ma, bo -- jak wspominałem na początku -- miałem styczność ze Scalą jedynie "z daleka"; nie udało mi się w niej dostrzec żadnej "zasady porządkującej", którą można znaleźć w Schemie albo Smalltalku albo Haskellu)
Technical Details
Message-ID:
<f88e4b0b-acff-4ee1-b207-77c3ec119d19@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!newsfeed.pionier.net.pl!news.glorb.com!r185no281698ita.0!news-out.google.com!15ni4711itm.0!nntp.google.com!r185no285568ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<44f21c75-f8bb-4598-9745-c438b730224e@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 10.36.51.71 with SMTP id k68mr1099925itk.14.1485977981315; Wed, 01 Feb 2017 11:39:41 -0800 (PST) X-Received: by 10.157.56.117 with SMTP id r50mr604107otd.12.1485977981280; Wed, 01 Feb 2017 11:39:41 -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!newsfeed.pionier.net.pl!news.glorb.com!r185no281698ita.0!news-out.google.com!15ni4711itm.0!nntp.google.com!r185no285568ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.funkcyjne Date: Wed, 1 Feb 2017 11:39:40 -0800 (PST) In-Reply-To: <44f21c75-f8bb-4598-9745-c438b730224e@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: <44f21c75-f8bb-4598-9745-c438b730224e@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <f88e4b0b-acff-4ee1-b207-77c3ec119d19@googlegroups.com> Subject: Re: A co sądzicie o Scali? From: godek.maciek@gmail.com Injection-Date: Wed, 01 Feb 2017 19:39:41 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit