-
X-Received: by 2002:ac8:7594:: with SMTP id s20mr570871qtq.381.1630698336113; Fri, 03
Sep 2021 12:45:36 -0700 (PDT)
X-Received: by 2002:ac8:7594:: with SMTP id s20mr570871qtq.381.1630698336113; Fri, 03
Sep 2021 12:45:36 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!1.us.feeder.erj
e.net!feeder.erje.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nnt
p.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postn
ews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 3 Sep 2021 12:45:35 -0700 (PDT)
In-Reply-To: <3...@g...com>
Injection-Info: google-groups.googlegroups.com;
posting-host=2a01:113f:400f:7f00:c919:93a9:e3e1:109f;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 2a01:113f:400f:7f00:c919:93a9:e3e1:109f
References: <9...@g...com>
<4...@g...com>
<2...@m...lan>
<c...@g...com>
<2...@m...lan>
<7...@g...com>
<6126af7d$0$541$65785112@news.neostrada.pl>
<f...@g...com>
<612a9d2f$0$512$65785112@news.neostrada.pl>
<a...@g...com>
<612bea2d$0$24048$65785112@news.neostrada.pl>
<2...@m...lan>
<a...@g...com>
<2...@m...lan>
<8...@g...com>
<2...@m...lan>
<3...@g...com>
<2...@m...lan>
<5...@g...com>
<2...@m...lan>
<3...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@g...com>
Subject: Re: rzadki bład w programie w C++
From: Maciek Godek <g...@g...com>
Injection-Date: Fri, 03 Sep 2021 19:45:36 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 78
Xref: news-archive.icm.edu.pl pl.comp.programming:215716
[ ukryj nagłówki ]piątek, 3 września 2021 o 20:21:21 UTC+2 Maciej Sobczak napisał(a):
> > Wniosek z tego można chyba wyciągnąć taki, że to, co robimy
> > (programowanie, albo szerzej - tworzenie pionowych dokumentów) jest
> > wbrew naszej naturze. I jak tu żyć?
> To zależy. To, że program "wykonuje się" z góry na dół to tylko jedna z możliwych
konwencji. Dlaczego stała się popularna? No nie wiem, bo np. dawno temu drukowano
programy na papierze? I to jeszcze takim składanym, na krótszym boku, z dziurkowanym
marginesem wzdłuż całej paczki?
W Europejskiej kulturze kierunek tekstu to jest "od lewej do prawej, od góry do
dołu".
Są kultury, w których ten kierunek poziomy jest odwrócony, tzn. czyta się "od prawej
do lewej, od góry do dołu".
Czasem też w kulturach azjatyckich można się spotkać z taką inwersją, że najpierw
czyta się w pionie, a potem w poziomie, ale chyba zawsze jest "z góry na dół".
Może ma to związek z grawitacją, i z tym, że jesteśmy uczeni, że rzeczy "same z
siebie" raczej ciągnie w dół, niż do góry?
> Program dla szkolnej maszyny Turinga to cienka długa taśma. Może być poziomo. Albo
na rolce.
> Ale już program zapisany jako model w jakiejś graficznej formie bardzo naturalnie
wygląda od lewej (wejścia) do prawej (wyjścia). To jest też popularna konwencja w
schematach elektronicznych. Czy taki model będzie bardziej pionowy, czy poziomy,
zależy od wielu czynników, ale zdecydowanie to, co mamy teraz z kodem źródłowym to
chwilowa anomalia a nie ponadczasowy pewnik.
Stosunkowo niedawno natrafiłem na tę prezentację, przedstawiającą środowisko
programistyczne jako "pochodnię w jaskini", i proponujące dość ciekawą alternatywę:
https://www.youtube.com/watch?v=Ps3mBPcjySE
> Albo wyobraź sobie, że plik źródłowy nie leci ciurkiem od góry do dołu, funkcja po
funkcji, tylko np. ma osobne kolumny. I każdą funkcję w osobnym pliku (to jest nawet
teraz tu i ówdzie obowiązującym standardem kodowania).
Albo że nie trzymasz programu w ogóle w plikach, tylko to są obiekty w pamięci, które
ewentualnie możesz na wiele sposobów zrzutować na system plików. Hmm, brzmi jak
Smalltalk albo Interlisp, albo "programowanie intencjonalne" :)
> Niech będzie, że tekstowe, ale w kilku kolumnach. Np. w każdej kolumnie osobno:
parametry, pre-conditions, zmienne lokalne, reguły przetwarzania, post-conditions.
Ładnie by to wyglądało.
Nieco dawniej natrafiłem na tę "rodzinę prezentacji", skupiającą się na typografii
kodu źródłowego (jak by powiedziała Debbie Reynolds, "if you've seen one, you've seen
them all")
https://hilton.org.uk/presentations/beautiful-code
Ja sam nie jestem do końca przekonany. Moim zdaniem programy powinny wyglądać jak
instrukcje montażu mebli z Ikei.
> To, że piszemy kod źródłowy jak by to był papier toaletowy to tylko nasza wina. Nie
jest to w żadnym razie jakaś inherentna cecha programowania w ogóle.
Nie wiem, czy jak papier toaletowy.
Większość środowisk "hipertekstualizuje" programy w tym sensie, że można np. kliknąć
na symbol, żeby przejść do jego definicji.
Nie spotkałem się z taką możliwością u swojego papieru toaletowego.
Ale faktycznie, "programowanie w ogóle" nie ma zbyt wielu silnie określonych cech.
Większość z nich to raczej nawyki naszych umysłów.
Następne wpisy z tego wątku
- 04.09.21 20:07 Maciej Sobczak
- 04.09.21 20:38 Maciek Godek
- 08.09.21 17:28 Robert Magdziarz
- 09.09.21 09:57 Maciek Godek
- 09.09.21 19:58 Robert Magdziarz
- 09.09.21 21:47 Maciek Godek
- 10.09.21 07:56 Robert Magdziarz
- 10.09.21 09:26 Maciek Godek
- 10.09.21 09:59 Robert Magdziarz
- 21.09.21 11:59 Robert Magdziarz
- 21.09.21 12:07 heby
- 21.09.21 17:56 Maciek Godek
- 22.09.21 08:19 Robert Magdziarz
- 22.09.21 08:22 Robert Magdziarz
- 22.09.21 09:27 heby
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- 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??
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz