🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215468

Re: Programowanie wizualne

#215468
From: godek.maciek
Date: Mon, 25 Mar 2019 08:46
58 lines
5240 bytes
W dniu poniedziałek, 25 marca 2019 08:02:13 UTC+1 użytkownik Maciej Sobczak napisał:
> > Moim zdaniem to, o czym mówisz, wynika z głęboko zakorzenionego przekonania, że plik tekstowy to podstawowa jednostka przechowywania informacji.
> 
> Ale z praktycznego punktu widzenia (czyli w kontekście istniejącej infrastruktury do przetwarzania tych plików), tak właśnie jest.

W sobotę miałem prezentację, której opowiadałem co nieco, i teraz mogę oficjalnie ujawnić linka do źródeł:
https://github.com/panicz/sracket (plik 5.rkt)

Do uruchomienia potrzebne jest środowisko Racket https://racket-lang.org/

Oczywiście, konwersja z postaci wizualnej do "zwykłego tekstowego lispa"
jest trywialna. (wystarczy wysłać komunikat "as-expression" do "głównego"
obiektu)
Ale poza tym nie ma fajerwerków: raczej trochę jeszcze temu brakuje
do w pełni sprawnego edytora.

> > Owo przekonanie jest co prawda zakorzenione w implementacji uniksa i jego różnych klonów,
> 
> Zdumiewające, jak łatwo wszyscy obwiniają Uniksa o wszystko. Ludzie używają plików tekstowych od kilku tysięcy lat. To właśnie wcześniejszy zapis wizualny zamieniono na pliki tekstowe, czyli na sekwencje znaków, bo tak było praktyczniej. I to nawet na długo przed wynalezieniem czcionki drukarskiej, kiedy to praktyczna wartość takiego zapisu okazała się być nośnikiem cywilizacyjnego przyśpieszenia.

Może masz rację.

> Dzisiaj praktyczna wartość plików tekstowych nadal wynika z istniejącej infrastruktury i dostępnych metod przetwarzania, ale tym razem w postaci diffów i merge'ów.

Temat jest ważny, ale zwróciłbym uwagę, że diffy i merge są mimo wszystko
narzędziem awangardowym, nieznanym większości użytkowników komputerów.

> > Ja jestem zdania, że jest wręcz szkodliwe, bo to sprawia, że każdy program (włączając w to języki programowania) wymyśla swoje własne sposoby na reprezentowanie drzewiastych struktur.
> 
> A kto powiedział, że drzewiaste struktury są specjalne?

Na przykład hinduski filozof Yaska z 4 wieku przed naszą erą.
Albo Platon. Albo John Locke, George Boole, Gottlob Frege,
John McCarthy, i właściwie każdy, kto używa w swoim projekcie
takich formatów serializacji, jak XML, YML czy JSON,
oraz każdy, kto definiuje gramatyki dla języków programowania.

> Można nawet powiedzieć, że poza drzewami właściwie nie ma drzew, więc drzewo jako struktura nie zasługuje na specjalne traktowanie. Diagramy UML, schematy elektryczne, mapa drogowa, "Układ Kowalskiego", czy nawet drzewo (sic!) genealogiczne to w ogólności nie są drzewa. Więc po co je promować?

Ja bym powiedział, że dlatego, że drzewa stanowią dla nas naturalną
formę organizowania złożoności. W praktycznie każdej działalności
człowieka możesz znaleźć schemat
układ - podukłady
albo
wyrażenie - podwyrażenia
albo
katalog - podkatalogi (i pliki)

W filozofii jest taki pomysł, który nazywa się "zasadą kompozycjonalności"
https://en.wikipedia.org/wiki/Principle_of_compositionality
(jest tam też link do większego artykułu ze stanfordzkiej encyklopedii)

> > W moim odczuciu to powoduje wielkie problemy z integracją, bo zamiast oglądać różnice w strukturze, jesteśmy zmuszani do oglądania różnic w serializacjach struktur.
> 
> To prawda. Ale lepszego (tzn. bardziej praktycznego) pomysłu obecnie nie widzę.

No, ja mimo wszystko będę dalej eksplorował poletko programów
tworzonych poprzez zagnieżdżanie pudełek w pudełkach :)
Technical Details
Message-ID: <d06f258d-c3be-43df-b9c9-92f9710d3158@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!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!t9no511115qtn.0!news-out.google.com!i54ni3914qte.0!nntp.google.com!t9no511111qtn.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <e4d59f64-95b4-48a0-82fa-443961897b2d@googlegroups.com> <de50bb70-2b8c-4e3b-942d-1702173ba19d@googlegroups.com> <7374e1fe-6b67-406e-8e78-f5cc4378973d@googlegroups.com> <83d4f05a-8ecb-490b-8b0a-061444e0eab4@googlegroups.com> <377cc0fe-37df-4e80-bf8a-ca22bd51889e@googlegroups.com> <2f65f03e-08d7-4e26-94c2-4be36304556b@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:109b:: with SMTP id g27mr18274564qkk.128.1553503565566;        Mon, 25 Mar 2019 01:46:05 -0700 (PDT)
X-Received: by 2002:ac8:3739:: with SMTP id o54mr19185077qtb.291.1553503565404; Mon, 25 Mar 2019 01:46:05 -0700 (PDT)
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!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!t9no511115qtn.0!news-out.google.com!i54ni3914qte.0!nntp.google.com!t9no511111qtn.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 25 Mar 2019 01:46:05 -0700 (PDT)
In-Reply-To: <2f65f03e-08d7-4e26-94c2-4be36304556b@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <e4d59f64-95b4-48a0-82fa-443961897b2d@googlegroups.com> <de50bb70-2b8c-4e3b-942d-1702173ba19d@googlegroups.com> <7374e1fe-6b67-406e-8e78-f5cc4378973d@googlegroups.com> <83d4f05a-8ecb-490b-8b0a-061444e0eab4@googlegroups.com> <377cc0fe-37df-4e80-bf8a-ca22bd51889e@googlegroups.com> <2f65f03e-08d7-4e26-94c2-4be36304556b@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d06f258d-c3be-43df-b9c9-92f9710d3158@googlegroups.com>
Subject: Re: Programowanie wizualne
From: godek.maciek@gmail.com
Injection-Date: Mon, 25 Mar 2019 08:46:05 +0000
Lines: 97
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit