-
X-Received: by 2002:a05:620a:1107:: with SMTP id o7mr38643833qkk.324.1564669780573;
Thu, 01 Aug 2019 07:29:40 -0700 (PDT)
X-Received: by 2002:a05:620a:1107:: with SMTP id o7mr38643833qkk.324.1564669780573;
Thu, 01 Aug 2019 07:29:40 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.tel
efonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!newsreader4.netco
logne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer
01.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news
.highwinds-media.com!b26no2164884qtq.0!news-out.google.com!a5ni784qtd.0!nntp.go
ogle.com!b26no2164873qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.c
om!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 1 Aug 2019 07:29:40 -0700 (PDT)
In-Reply-To: <0...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.25.232.40;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 83.25.232.40
References: <e...@g...com>
<1...@g...com>
<c...@g...com>
<0...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: "Najbardziej imponujący kod, jaki widziałem"
From: g...@g...com
Injection-Date: Thu, 01 Aug 2019 14:29:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 8442
X-Received-Body-CRC: 872091133
Xref: news-archive.icm.edu.pl pl.comp.programming:213737
[ ukryj nagłówki ]W dniu czwartek, 1 sierpnia 2019 14:26:26 UTC+2 użytkownik Maciej Sobczak napisał:
> > > A teraz konkretnie - technika faktycznie ciekawa, ale pomijając zupełnie
podstawowy wykład z LISPa dałoby się to zmieścić w kilku procentach objętości.
> >
> > Chciałbym to zobaczyć.
>
> Usuń z artykułu ten wykład o podstawach LISPa i zobacz, co zostało. Np. po co
tłumaczyć ludziom, że operatory and i or można zaimplementować przy użyciu
konstrukcji if? Generalnie - niepotrzebna dłużyzna.
Dla jednych potrzebna, dla innych niepotrzebna.
Generalnie ludzie uczą się języka czytając przykłady, a nie reguły.
Jeżeli kogoś to nudzi, to łatwo sobie przeskoczy do kolejnego akapitu.
> > Żadne AI nie będzie raczej w stanie wyrazić moich myśli precyzyjniej, niż ja sam.
>
> I znowu myślenie egocentryczne. Problem z AI nie polega na tym, że zrobi coś lepiej
od nas, tylko że nasza robota nie będzie potrzebna i konsekwentnie nasze zdanie o
naszej indywidualnej wyższości nad jakimś tam AI nikogo nie będzie interesować.
Nasza robota nigdy nie była potrzebna.
No chyba że robisz w rolnictwie, czy ewentualnie budowlance.
> Tzn. dzięki AI programowanie może zostać zepchnięte do roli hobby albo cepelii, tak
jak np. ręcznie dziergane szaliki albo inna ceremika rekreacyjna.
Ostatnio natrafiłem na ciekawy wywiad z Jackiem Dukajem, ocierający nieco o ten
temat:
https://www.youtube.com/watch?v=UuEPplXAtJQ
> Natomiast co do prezycji myśli - bez przesady, akurat w tej dziedzinie nie
błyszczymy. Niektórzy uważają, że właśnie brak precyzji pozwolił nam przetrwać i
ewoluować ("we would never survive if we weren't a bit crazy"), ale akurat w
dziedzinach formalnych to nas raczej ogranicza.
Brak precyzji jest cechą charakterystyczną języka naturalnego (i w pewnej mierze
języka matematyki).
Jest to cecha, której w pewnej mierze oczekujemy po języku naturalnym (nawet jeśli
nie zawsze zdajemy sobie z tego sprawę).
Notacje formalne mają cel przeciwny - uczą dyscypliny bardzo rygorystycznego
wyrażania się. Próby formalizacji języka naturalnego zawsze zawodzą (i m.in. dlatego
np. język Inform 7 raczej nigdy nie odniesie większego sukcesu).
Precyzja, którą uzyskujemy, jest trudna, ale moim zdaniem warto ją praktykować.
> > To co pokazałem w swoim artykule to po prostu idea, którą najwygodniej wyrazić w
Lispie.
>
> Konsekwentnie się nie zgadzam, z racji tego, że w LISPie w ogóle mało co się
wygodnie wyraża. Zagnieżdżone pary? Rekurencja? Daj spokój.
Spróbuj przełożyć konstrukcję Byrda i Friedmana na język Wolframa.
Sam z chęcią zobaczę, jaki będzie efekt.
> > > Sam artykuł oczywiście, jak zwykle, zniechęca do LISPa.
> >
> > Powiedz coś więcej na ten temat. W jaki sposób zniechęca?
>
> Cytaty:
>
> "Aren't all those closing parentheses beautiful?"
> "The heavily parenthesized syntax of LISP may not be particularly readable."
Raczej bym powiedział, że "oddaje sprawiedliwość".
Lisp nie jest doskonałą notacją, ale to pewnie dlatego, że nie ma czegoś takiego, jak
"doskonała notacja". Za to do meta-programowania jest najlepszą notacją, jaką znam.
> > Nie rozumiem. Jakiego ograniczenia na liczbę elementów?
>
> Wykład o LISPie zawsze kładzie nacisk na to, że albo mam jeden obiekt albo parę. I
że jak chcę czegoś więcej, to jest to jakaś rzeźba z par. To nie jest ograniczenie? A
potem się okazuje, że zmiana N-tego elementu wymaga rekurencji. Oczywiście, można to
wszystko ukryć pod przystępnymi funkcjami bibliotecznymi, ale po co przykrywać
problem, którego można po prostu nie mieć?
Nadal nie rozumiem. Jaka rzeźba z par? Jak chcesz tworzyć listę elementów a, b, c, to
piszesz po prostu (list a b c) albo '(a b c).
LISP daje też potężny operator "quasiquote", który pozwala na budowanie złożonych
struktur w efektywny sposób.
> > A co jeśli owa wartość Nothing miałaby zostać przekazana jako argument do
funkcji?
>
> Na to też są sposoby, bo w takich specjalnych przypadkach można sterować dokładnym
czasem ewaluacji. Niemniej, pytanie jest zasadne, ale zawsze można też odpowiedzieć,
że można udawać, że takiego ficzeru w ogóle nie ma (tak jak go nie ma w innych
językach), wtedy też nie powstaje problem z przekazywaniem Nothing jako parametr.
No, dla mnie to od początku brzmiało jak ficzer, którego lepiej udawać, że nie ma.
> > W kilku miejscach - tam, gdzie poziom zagnieżdżeń przesłaniał istotę rzeczy -
użyłem notacji Haskella.
>
> Rozumiem. Czyli do programowania w LISPie potrzeby jest Haskell, żeby przekazać
czytelnikowi o co chodzi w LISPowym kodzie.
> Właśnie takie efekty mam na myśli.
Ale co w tym złego? Większość odpowiedzi i tak jest w języku angielskim.
Składnia Haskella ma swoją wartość, tak jak składnia Lispa.
(do wartości składni Wolframa nie jestem przekonany)
> > > Inna rzecz - czy konstrukcja if musi być podstawową w LISPie?
>
> > To o co pytasz to absolutne podstawy lambda-rachunku.
> >
> > https://www.cl.cam.ac.uk/teaching/Lectures/funprog-j
rh-1996/all.pdf
> > rozdział 3
>
> OK, czyli nie musi.
> Ale żeby prawda i fałsz musiały wtedy być funkcjami? Daj spokój.
Proszę, oto spokój.
> > Inna rzecz - czy pattern matching musi być podstawą w Wolframie?
>
> Tak działa ewaluacja w Wolframie (to się nazywa "term rewriting":
https://en.wikipedia.org/wiki/Rewriting). To podstawowy mechanizm, i tak dobrze udaje
inne mechanizmy, że większość ludzi o nim zapomina, sądząc, że to jest po prostu
"normalny wieloparadygmatowy język programowania".
Czyli musi.
Następne wpisy z tego wątku
- 02.08.19 10:32 Maciej Sobczak
- 02.08.19 14:10 g...@g...com
- 03.08.19 06:52 AK
- 03.08.19 09:55 g...@g...com
- 03.08.19 21:51 Maciej Sobczak
- 04.08.19 00:37 g...@g...com
- 04.08.19 22:57 Maciej Sobczak
- 05.08.19 12:44 g...@g...com
- 05.08.19 14:35 Roman Tyczka
- 05.08.19 14:58 g...@g...com
- 05.08.19 22:29 Maciej Sobczak
- 06.08.19 10:55 Maciej Sobczak
- 06.08.19 15:31 Borneq
- 06.08.19 15:45 g...@g...com
- 06.08.19 16:32 Borneq
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)