Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #34422

Re: Narzędzia do wizualizacji systemów Embedded

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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