Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #34422
| Newsgroups | pl.comp.programming |
|---|---|
| Date | 2021-03-30 01:41 -0700 |
| References | (5 earlier) <657950da-97f7-420a-a3d0-13597899385en@googlegroups.com> <47e3881e-b68a-4769-8e09-d2be3159de58n@googlegroups.com> <03382e3f-a8a7-429f-9ab2-d59b48ffc44cn@googlegroups.com> <e54cb8c5-3584-42cc-a75e-e4ed197f4fc8n@googlegroups.com> <4ceb82cc-54f8-49c0-82f7-2a2464ed9f3fn@googlegroups.com> |
| Message-ID | <ef31edca-80b2-45fa-be5c-3b8a3522acedn@googlegroups.com> (permalink) |
| Subject | Re: Narzędzia do wizualizacji systemów Embedded |
| From | Maciek Godek <godek.maciek@gmail.com> |
poniedziałek, 29 marca 2021 o 18:39:49 UTC+2 Maciej Sobczak napisał(a): > > Nadal nie wyjaśniłeś dlaczego nie jest. > Myślałem, że wystarczy praca samodzielna. > Ideą, ktorą ja wyczuwam w tym artykule, jest odróżnienie dokumentacji od dokumentowanego obiektu. Wynika to nawet bezpośrednio z podanych tam przykładów. Niestety, ja nie jestem w stanie tego nigdzie wyczytać, a moje moce do wyczuwania są najwidoczniej zbyt słabe > A najbardziej wynika z paragrafu o dokumentacji w naszej branży: > > https://en.wikipedia.org/wiki/Documentation#Documentation_in_computer_science > > Kod źródłowy nie znajduje się na tej liście. Aha, czyli chodzi nie o to, co jest, ale o to, czego nie ma. No, ale już kliknięcie dalej mamy artykuł https://en.wikipedia.org/wiki/Software_documentation, w którym jest m.in. omówiona koncepcja programowania piśmiennego Knutha. > > Teraz drugi raz twierdzisz, że jeżeli diagram posłuży do wygenerowania kodu, to nagle w jakiś magiczny sposób przestaje być dokumentacją > Tak. Subtelne, prawda? To trochę kwestia kultury pracy i jest to miejsce na subiektywność. OK, to zamiast mówić "wykonywalny diagram nie jest dokumentacją", a później uzasadniać to linkiem do Wikipedii, z którego to nie wynika, możesz powiedzieć "ja wykonywalnego diagramu nie uważam za dokumentację, ponieważ ..." > Ja to widzę tak, że jeżeli coś jest bezpośrednio na ścieżce albo w łańcuchu transformacji artefaktów inżynierskich, to jest obiektem wymagającym dokumentacji a nie dokumentacją. Jedno drugiego nie wyklucza. Co więcej, do dokumentacji też można tworzyć dokumentację. I nie ma w tym nic strasznego. > Zauważ (znowu, bo już o tym wspomniałem), że kod źródłowy to nie jest program, choć zawsze tak skrótowo o nim myślimy i mówimy. Kod źródłowy to jedynie konfiguracja dla generatora kodu dla niższej wartwy abstrakcji. I to nadal nie musi być program, bo jeśli kompilator generuje kod w asemblerze, to dalej z tego jest generowany kod obiektowy i to nadal nie jest program, bo trzeba to zlinkować i pozszywać symbole i to może dopiero jest program, który zostanie fizycznie wykonany przez komputer. Tak, w skrócie mówimy, że "napisałem program", ale to nie jest prawda, bo program dopiero powstanie. Później. > I jeżeli teraz chciałbyś w ten długi łańcuch kolejnych generacji z jednego w drugie dołożyć jeszcze jeden etap, np. model (w postaci diagramu), z którego zostanie wygenerowany kod źródłowy, z którego... itd., to coś się zmieniło w całej logice? Nic się nie zmieniło. I możesz dalej sobie coś dołożyć, np. meta-skrypt generujący takie modele z zadanej konfiguracji. I coś to zmienia? Dalej nic. > Bo na całym tym łańcuchu masz artefakty inżynierskie, które automatyzują proces powstania produktu końcowego. I *żaden* z tych artefaktów nie jest wtedy dokumentacją. Jeżeli zapoznanie się z którymkolwiek powodowałoby zwiększenie zrozumienia działania systemu, to wówczas byłby dokumentacją. Tak przynajmniej twierdzi Wikipedia. Bo ona mówi, że jest to "dowolny materiał, który..." > Bo gdyby był, to każdy z nich też by był. Ten asembler też. A to by było słabe, prawda? W tym sensie, że słowo "dokumentacja" straciłoby swój pierwotny sens. Tak, potencjalnie każdy jest dokumentacją, bo każdy zawiera informację, którą można przyswoić. Mnie się zdarza studiować asembler, dokładnie w tym celu, żeby zrozumieć, co robi system (wtedy, kiedy to jest istotne). Jedyna kwestia jest taka, że nie każdy artefakt w tym procesie jest zoptymalizowany do rozumienia działania systemu na poziomie użytkowym. > Więc subtelne rozróżnienie jest właśnie w tym, czy coś jest na ścieżce automatycznej generacji ostatecznego produktu. Jeśli jest, to nie jest to dukumentacja, bo ta jest z definicji obok tej ścieżki. Nic takiego nie znalazłem na Wikipedii. > Tak, wiem, że są ludzie, dla których kod źródłowy jest jednocześnie programem i dokumentacją. I dziełem sztuki. Bo przecież powstało dzieło. OK, są ludzie, dla których jest, i są ludzie, dla których nie jest. To jest w porządku. Są też ludzie, którzy twierdzą, że to, co oni uważają w tej kwestii, jest ostateczną prawdą, a to co uważają inni, to jakieś bzdury. I to jest mniej w porządku. > > co w świetle definicji z Wikipedii oznaczałoby, że nie może już służyć do rozumienia działania systemu > No bo nie może. To, że coś pokazuje *jak* coś działa, nie znaczy, że pokazuje *dlaczego*. A to jest potrzebne do rozumienia. *Dlaczego* jest potrzebne do zrozumienia dlaczego coś zostało zrobione. *Jak* jest potrzebne do zrozumienia, jak coś jest zrobione. W obu przypadkach mamy do czynienia ze zrozumieniem. > > No to teraz uważaj: > > żadna dokumentacja nie dokumentuje wszystkich aspektów budowy i użytkowania systemów. > Bo nie musi. Natomiast kod źródłowy w ogóle niczego nie dokumentuje. > > https://man7.org/linux/man-pages/man3/memcpy.3.html > > > > Opisuje różne aspekty użycia funkcji `memcpy`, ale nie wyjaśnia, dlaczego ta funkcja powstała, ani w jakim celu się ją stosuje. > Bardzo dobrze opisuje. Nawet warunki poprawnego użycia są opisane. Dobry kawał dokumentacji. > A że jest to funkcja bardzo niskopoziomowa, to nie dowiesz się z tej dokumentacji, w jakim celu się ją stosuje. Innymi słowy, dowiem się *jak* tego użyć, ale nie dowiem się *dlaczego* tego użyć. (A teraz przeczytaj to, co napisałeś akapit wyżej) > > Bo nie wiem jak Ty, ale ja swoje komentarze do kodu źródłowego zazwyczaj trzymam w kodzie źródłowym. > > One *są częścią* kodu źródłowego, i wyjaśniają rzeczy, których w samym języku programowania nie mógłbym wyrazić, albo tłumaczą, skąd się wzięły jakieś nieoczywiste rozwiązania. > No, to już jesteś powyżej średniej. Obiektywnie, bez żartów. > Ale twierdzenie, że komentarze są częścią kodu źródłowego, to miejsce do nadużyć. Bo fakt, że komentarze są z definicji ignorowane i drugi fakt, że ich związek z otoczeniem jest jedynie umową społeczną między autorem a czytelnikiem, sprawia, że jednak nie są częścią kodu. Umieszczenie różnych rzeczy w tym samym pliku to jedynie fizyczny wybór pojemnika, który to wybór nie wpływa na to, czym coś jest. > I zapewniam, że niektórzy piszą komentarze do kodu poza kodem. Robiłeś kiedyś review kodu w jakimś narzędziu do pracy zespołowej? Tak, zdarza mi się. I tego rodzaju komentarzy nie uznaję za część kodu źródłowego, tylko za element konwersacji wokół kodu źródłowego. Tak samo, jak np. narzędzie do pisania komentarzy w Wordzie odróżnia komentarz od komentowanego tekstu. > Serio, dokumentację robi się gdzie indziej. Zależy jaką. Serio. Wiele rzeczy można robić na wiele sposobów. Proszę, tu piosenka dla Ciebie (moim zdaniem powinna być hymnem inżynierów): https://www.youtube.com/watch?v=6DiwN1LHfOU
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar
Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-24 04:15 -0700
Re: Narzędzia do wizualizacji systemów Embedded heby <heby@poczta.onet.pl> - 2021-03-24 13:33 +0100
Re: Narzędzia do wizualizacji systemów Embedded Adam M <amorawski@magna-power.com> - 2021-03-24 09:28 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-24 12:33 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-25 08:41 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-25 09:18 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-26 09:16 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-26 09:47 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-27 08:39 -0700
Re: Narzędzia do wizualizacji systemów Embedded Adam M <amorawski@magna-power.com> - 2021-03-25 14:43 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-26 09:41 -0700
Re: Narzędzia do wizualizacji systemów Embedded Adam M <amorawski@magna-power.com> - 2021-03-26 14:57 -0700
Re: Narzędzia do wizualizacji systemów Embedded Roman Tyczka <romantyczka@hate.you.spammer> - 2021-03-27 11:46 +0100
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-27 08:51 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-24 10:30 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-24 12:45 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-25 08:54 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-25 09:30 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-26 09:26 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-26 09:49 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-27 09:08 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-28 13:40 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-29 09:39 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-30 01:41 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-03-30 14:00 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-03-31 01:42 -0700
Re: Narzędzia do wizualizacji systemów Embedded slawek <x.y@org.org> - 2021-04-04 23:07 +0200
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-05 10:10 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-05 23:48 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-06 00:21 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-06 09:35 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-06 14:46 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-07 13:07 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-08 03:57 -0700
Re: Narzędzia do wizualizacji systemów Embedded slawek <x.y@org.org> - 2021-04-09 12:07 +0200
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-09 07:57 -0700
Re: Narzędzia do wizualizacji systemów Embedded slawek <x.y@org.org> - 2021-04-09 18:44 +0200
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-10 07:26 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-11 14:57 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-12 08:58 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-13 01:32 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-13 08:50 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-13 13:57 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-16 02:26 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciek Godek <godek.maciek@gmail.com> - 2021-04-12 02:45 -0700
Re: Narzędzia do wizualizacji systemów Embedded Maciej Sobczak <see.my.homepage@gmail.com> - 2021-04-12 09:07 -0700
Re: Narzędzia do wizualizacji systemów Embedded slawek <x.y@org.org> - 2021-04-04 22:32 +0200
Re: Narzędzia do wizualizacji systemów Embedded slawek <x.y@org.org> - 2021-04-04 22:26 +0200
csiph-web