🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: W nawiązaniu do rozmowy o Common Lisp vs Java

#996
From: godek.maciek
Date: Fri, 27 Jan 2017 07:36
43 lines
3682 bytes
W dniu czwartek, 26 stycznia 2017 23:56:05 UTC+1 użytkownik godek....@gmail.com napisał:

> Ja myślę o tych kwestiach w zupełnie inny sposób, tzn. mam świadomość,
> że korzystając z jakiegoś języka programowania niebędącego lispem, coś
> odrzucam. [...]

uświadomiłem sobie, że chyba niedociągnąłem wątku.
Chodzi mi zasadniczo o to, że być może istnieją języki, które mają
lepsze ekosystemy, niż Common Lisp albo Scheme (przynajmniej
do partykularnych potrzeb), jednak to jest kwestia przygodna
-- ekosystem jest czymś, co ewoluuje. Co do pewnych własności
istotowych, to Common Lisp i Scheme będą zawsze je posiadały
-- homoikoniczność jest realną przewagą Lispów nad nie-lispami.

Składnia Javy może się podobać albo nie, tak jak składnia
Pythona albo Ruby'ego. Być może za popularnością Pythona
stoją względy estetyczno-kulturowe, bardziej niż cokolwiek innego.

W przypadku Lispa -- w przeciwieństwie do Javy czy Pythona
-- składnia nie jest kwestią fanaberii. Kluczową kwestią jest
zrozumienie, że to jest składnia uniwersalna, tzn. taka, w której
można wyrazić (w sposób jednorodny) każdą strukturę wyrażalną
w każdej innej składni.
To nie jest kwestia estetyki (w każdym razie wizualnej), tylko zrozumienia.
To jest składnia obiektywnie prostsza -- co mogdybym chciał
stworzyć podobną strukturę w C albo Javieżna stwierdzić,
porównując BNF dla Lispa np. z BNF dla C
http://cui.unige.ch/db-research/Enseignement/analyseinfo/LISP/BNFlisp.html
http://www.cs.man.ac.uk/~pjj/bnf/c_syntax.bnf
(jest prostsza do wyrażenia, a zatem prosta w nauce, bo przewidywalna,
i prosta do przetworzenia). Co prawda analogony operatora quote
istnieją w takich językach, jak Julia czy Elixir, a makra można tworzyć
nawet w Scali, ale w każdym z tych przypadków jest to nieporównywalnie
trudniejsze i idiosynkratyczne.

Wracając do przykładu z gramatykami bezkontekstowymi, gdybym chciał
stworzyć podobną strukturę w C albo w Javie, napotkałbym na wiele przeszkód.
W Pythonie albo Javascripcie mógłbym co prawda korzystać z tablic
albo stringów, ale nawet wówczas składnia jest nieprzezroczysta, tzn.
musiałbym pisać
['<S>', '=>', '<A>', '<B>']
itd., co jest upierdliwe nawet przy wpisywaniu, oraz istotowo różne
od kodu w Pythonie/JavaScipcie.
Technical Details
Message-ID: <8919efae-0e7a-4c03-9a9b-78becf3847b0@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!r185no572854ita.0!news-out.google.com!15ni12570itm.0!nntp.google.com!r185no572845ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <f2971b42-0147-4004-9719-35597606c6eb@googlegroups.com> <bc80031a-7361-4ad7-afba-749028aafb84@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.107.136.105 with SMTP id k102mr1912301iod.21.1485502578655;        Thu, 26 Jan 2017 23:36:18 -0800 (PST)
X-Received: by 10.157.56.117 with SMTP id r50mr493286otd.12.1485502578604; Thu, 26 Jan 2017 23:36:18 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!r185no572854ita.0!news-out.google.com!15ni12570itm.0!nntp.google.com!r185no572845ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.funkcyjne
Date: Thu, 26 Jan 2017 23:36:18 -0800 (PST)
In-Reply-To: <bc80031a-7361-4ad7-afba-749028aafb84@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: <f2971b42-0147-4004-9719-35597606c6eb@googlegroups.com> <bc80031a-7361-4ad7-afba-749028aafb84@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8919efae-0e7a-4c03-9a9b-78becf3847b0@googlegroups.com>
Subject: Re: W nawiązaniu do rozmowy o Common Lisp vs Java
From: godek.maciek@gmail.com
Injection-Date: Fri, 27 Jan 2017 07:36:18 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit