-
Data: 2019-03-26 10:27:16
Temat: Re: Programowanie wizualne
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu wtorek, 26 marca 2019 09:51:15 UTC+1 użytkownik Maciej Sobczak napisał:
> > 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.
>
> Jednak myślę, że diff jest narzędziem bardziej powszechnym, niż Racket, który
kazałeś zainstalować, żeby zobaczyć, co zrobiłeś...
"Kazałem" to mocne słowo.
Udostępniłem źródłą. Nie ma w nich silnej zależności od Racketa
(początkowo pisałem to dla swojego frameworka SLAYER, ale Racketa
łatwiej zainstalować. Mógłbym też przenieść do przeglądarki,
żeby było "powszechniej", i pewnie kiedyś tak zrobię, ale
nie jest to dla mnie priorytet)
> > > 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.
>
> Kucha. Te wszystkie wynalazki są wtórne względem tego, co opisują.
(Niemal) każdy opis jest wtórny względem tego, co opisuje.
Taka już jego uroda.
> Potem jest tak, ktoś jest przekonany, że modeluje drzewo a za chwilę potrzebne mu
są wskaźniki silne i słabe, albo GC do sprzątania cykli, albo jeszcze coś. XML, YML
czy JSON to też złe przykłady, patrz <a href="..."> albo dorobione po fakcie
referencje do innych obiektów w JSON. To są właśnie te słabe wskaźniki, które okazują
się być potrzebne, bo świat wcale nie chce być drzewiasty. Drzewiaste struktury to
przypadki szczególne, trywializujące rzeczywistość.
Drzewiaste struktury to coś, czym jak do tej pory najłatwiej się nam,
jako ludziom, operuje. Z jakichś względów raczej mamy "drzewa rozbioru
składniowego", a nie "dowolne grafy rozbioru składniowego".
(Choć może to pomysł dobry i wart eksploracji. Może kiedyś będą grafy)
> > 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
>
> i relacje między nimi, patrz dowolny schemat UML
>
> > albo
> > wyrażenie - podwyrażenia
>
> o tym za chwile
>
> > albo
> > katalog - podkatalogi (i pliki)
>
> i linki twarde oraz symboliczne? Kto by się spodziewał?
I niekompatybilności z systemami, które tego nie obsługują,
bo pomysł bynajmniej nie był oczywisty.
> > W filozofii jest taki pomysł, który nazywa się "zasadą kompozycjonalności"
>
> Oczywiście.
>
> > No, ja mimo wszystko będę dalej eksplorował poletko programów
> > tworzonych poprzez zagnieżdżanie pudełek w pudełkach :)
>
> Bardzo dobrze. Na tym poletku warto też pomyśleć o uogólnieniach - bo wyrażenia są
strukturami 1D z zagnieżdżeniami. Tymczasem nie ma powodu sądzić, że jest to jedyny
użyteczny model obliczeniowy, a skoro mamy formy wizualne (pudełkowe czy jakieś inne)
do ich reprezentacji, to być może warto się zastanowić nad wyrażeniami 2D. Żeby nie
było, że to jakiś pomysł od czapy, to automaty komórkowe (np. gra w życie Conway'a)
są w tych okolicach. A żeby nie było, że to to pomysł niepraktyczny, to przecież
hardware jest tak realizowany od zawsze. Pytanie, czy da się tak robić software.
Zasadniczo się zgadzam. (Choć nie jestem pewien, czy bym chciał pisać
programy na automaty komórkowe).
Pewną inspiracja są dla mnie te obrazki:
https://pbs.twimg.com/media/B4nvfRvCYAAL0K0.jpg
https://pbs.twimg.com/media/Db43WFTV0AARyTc.jpg
Dziś jeszcze natrafiłem na taki, dość interesujący projekt
https://github.com/disconcision/fructure
+ animacja jak to wygląda w praktyce
https://twitter.com/disconcision/status/109371062207
0460417
> I tu wracamy do wyrażeń, że niby są drzewiaste. Moim zdaniem algebra taka jaką
znamy jest wtórna względem wynalazku sekwencyjnego pisma. Ktoś napisał pierwsze
wyrażenie algebraiczne w ramach ograniczeń takiej właśnie formy. I dobrze, bo dało
się to drukować czcionkami a dzisiaj mamy diff i merge :-), ale to nadal jest wtórne.
Tworem najbardziej przypominającym diff przed wynalezieniem komputera
była errata. Ale istota jest taka, że to nie tekst (ciąg linearny)
umożliwia tworzenie diffów, tylko struktura właśnie (diffy operują
na liniach, a erraty zazwyczaj na stronach i akapitach).
Co do istoty rozwoju pisma w wynalezienie algebry (i logiki),
to oczywiście jak najbardziej się zgadzam. Tylko temu pismu
zawsze towarzyszyła kaligrafia albo typografia.
Coś kiedyś trochę w tym temacie pisałem na kworze:
https://www.quora.com/How-do-you-think-code-as-used-
in-programming-should-be-pronounced/answer/Panicz-Go
dek
Następne wpisy z tego wątku
- 26.03.19 20:31 Wojciech Muła
- 27.03.19 07:57 Maciej Sobczak
- 28.05.19 15:22 g...@g...com
- 02.05.20 22:57 g...@g...com
- 03.05.20 20:53 Maciej Sobczak
- 03.05.20 23:32 g...@g...com
- 04.05.20 23:40 Maciej Sobczak
- 05.05.20 10:38 g...@g...com
- 23.08.21 14:28 Maciek Godek
- 11.09.21 20:27 Maciek Godek
- 28.09.21 08:44 Maciek Godek
- 29.09.21 17:27 Maciek Godek
- 28.10.21 13:03 Maciek Godek
- 02.08.23 15:41 Maciek Godek
- 11.08.23 16:27 Maciek Godek
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=