-
331. Data: 2022-07-21 20:36:17
Temat: Re: Rynek pracy STM32
Od: Dawid Rutkowski <d...@w...pl>
czwartek, 21 lipca 2022 o 15:21:40 UTC+2 heby napisał(a):
> Nie rozumiesz sensu szablonów.
>
> Bywa, że wynikiem skomplikowanego kodu w szablonach jest *nic*. Albo 1
> liczba. Albo gigabajt kodu. Wkładasz szablony do worka "dużo" bo nigdy w
> życiu ich nie używałeś do czegokolwiek. Po prostu wydaje Ci się, że dużo
> kodu źrłodłwego musi wygenerować dużo asemblera. A tu jest czasami
> odwrotnie.
Ja też nie rozumiem sensu szablonów.
Jak tylko zobaczyłem, uznałem, że to to samo co define'y - a nieszczęsny zapis z <>
odrzucił estetycznie.
I przez to nie da się zrobić bibliotek closed-source.
Polepszyło się coś od 2001?
Tylko nie mieszajmy w to idei open-source i free software.
-
332. Data: 2022-07-21 21:00:38
Temat: Re: Rynek pracy STM32
Od: heby <h...@p...onet.pl>
On 21/07/2022 20:36, Dawid Rutkowski wrote:
> Ja też nie rozumiem sensu szablonów.
Pozwalają podejmować decyzje na etapie kompialcji. Ta niewielka cecha
czyni z nich poteżne narzędzie, użyteczne w wielu sytuacjach. W embedded
też. Być może tam w szczególności - niektóre konstrukcje pozwalają na
absurdalnie dokładne optymalizacje kodu wynikowego.
> Jak tylko zobaczyłem, uznałem, że to to samo co define'y - a nieszczęsny zapis z <>
odrzucił estetycznie.
Nie to samo. Główna rónica, jak już chcesz porównać, to ścisła kontrola
typów, których w #define nie ma. #define to taki regexp/sed wbudowany w
język, z masą problemów.
> I przez to nie da się zrobić bibliotek closed-source.
Da się.
> Polepszyło się coś od 2001?
W sensie templates? Cały nowoczesny C++ to głównie szablony. Robiące
rzeczy o kłopotliwej w wyjasnieniu, przeciętnemu kilkaczowi w C, rzeczy.
To mocno inny język.
> Tylko nie mieszajmy w to idei open-source i free software.
Szablony nie musza być open-source, aczkolwiek ich uzytecznośc wtedy nie
jest tak wielka.
Możesz mieć Foo< Bar > gdzieś w .hpp i biblitekę .a. Bez znajomości Foo
i Bar.
Ogólnie interfejsy biblitek bardziej korzystają z szablonów (np.
boost::optional< Foo >, std::shared_ptr< Bar >, itd) niż mają interfejs
szablonowy. Skoro są closed source to raczej nie ba się korzystać z
mozliwosci szablonów, bo one, aby były optymalnie wykorzystane, muszą
widzieć kod, aby go zoptymalizować. Co nie znaczy że nie korzysta się z
szablonów w closed-source. Jako narzędzie a nie cel.
-
333. Data: 2022-07-21 21:18:48
Temat: Re: Rynek pracy STM32
Od: Janusz <j...@o...pl>
W dniu 2022-07-21 o 17:49, heby pisze:
> On 21/07/2022 17:37, Janusz wrote:
>>> Kod polimorfizmu dynamicznego nie wymaga samomodyfikującego kodu,
>>> jesli tylko masz indirect jump/call. W AVR masz. Finito.
>> Tylko wtedy niczym sie nie różni od statycznego.
>
> Czyli potwierdzasz, że nie pojmujesz w czym rzecz.
Oczywiście że wiem. To ty się puszysz jak kogut w kurniku.
>
> https://www.modernescpp.com/index.php/dynamic-and-st
atic-polymorphism
>
> Dynamiczny polimorfizm bazuje na wołaniu metod wirtualnych.
czyli calami wywołuje funkcje z rom, tylko wpierw musi wybadać typ
zmiennej żeby wybadać gdzie skoczyć.
>
> Statyczny bazuje na zamrożeniu tych wywołań na etapie kompilacji, przez
> co metody wirtualne przestają być potrzebne.
Czyli te same cale co wyżej tylko na stałe przypisane do wywołania bo
kompilator wie jaki jest typ zmiennej i nic nie musi badać.
>
> Tak z grubsza.
I tak z grubsza jest guano bo pakowane są wszystkie funkcje w zalezności
od typu, czyli to samo co robi dotychczasowy amator pisząc osobne
funkcje na kazdy typ zmiennej np: na wysyłanie znaku czy liczby. Jedyna
zaleta że w wywołaniu ładnie wygląda po to jedna funkcja np: lcd.print()
Jak widać postęp niewielki a kruszysz kopie jakby nie wiadomo co to było.
--
Janusz
-
334. Data: 2022-07-21 21:20:33
Temat: Re: Rynek pracy STM32
Od: Janusz <j...@o...pl>
W dniu 2022-07-21 o 17:58, heby pisze:
> Na razie wychodzisz na ignoranta. Jestes pewny, że widziałes kiedyś na
> oczy komputer? Współczesny? Taki po Odrze?
Chłopcze, sam jesteś ignorantem, żegnam.
-
335. Data: 2022-07-21 21:33:05
Temat: Re: Rynek pracy STM32
Od: heby <h...@p...onet.pl>
On 21/07/2022 21:18, Janusz wrote:
>> https://www.modernescpp.com/index.php/dynamic-and-st
atic-polymorphism
>> Dynamiczny polimorfizm bazuje na wołaniu metod wirtualnych.
> czyli calami wywołuje funkcje z rom, tylko wpierw musi wybadać typ
> zmiennej żeby wybadać gdzie skoczyć.
Kod wykonywany przez CPU, pochodzący z kompilacji C++ nie bada żadnych
typów runtime. Zawartości wywołań wirtualnych również są statyczne. W
kodzie nie znajdziesz ani jednej instrukcji warukowej, majacej na celu
"wybadanie typu".
>> Statyczny bazuje na zamrożeniu tych wywołań na etapie kompilacji,
>> przez co metody wirtualne przestają być potrzebne.
> Czyli te same cale co wyżej tylko na stałe przypisane do wywołania bo
> kompilator wie jaki jest typ zmiennej i nic nie musi badać.
W obu wypadkach typy są przypisane na stałe, nie ma badania typów. Typy
nie istnieją w kodzie wynikowym.
Jedyne miejsce, gdzie typy można "badać" to dynamic_cast<> i wymaga to
wywołania jawnie w kodzie źródłowym, dotyczy wąskiego zakresu typów i w
zasadzie nie polega na badaniu typu, tylko porownania pointera na coś
magicznego.
> I tak z grubsza jest guano bo pakowane są wszystkie funkcje w zalezności
> od typu
W szablonach? Nie, tylko uzywany kod, po otymalizacji, która często
kończy się zerową ilością kodu.
Szablony mogą nie genrować kodu, generować bardzo mało i generować
bardzo dużo. Zalezy co chcesz nimi uzyskać.
>, czyli to samo co robi dotychczasowy amator pisząc osobne
> funkcje na kazdy typ zmiennej np: na wysyłanie znaku czy liczby.
Tak, nie, zależy.
Amator piszący osobne funcje i tak jest musi napisać w szablonach jak i
w kodzie nieszablonowym - bo są różne i wymagają innych implementacji.
> Jedyna
> zaleta że w wywołaniu ładnie wygląda po to jedna funkcja np: lcd.print()
A wiec kompletnie dalej tego nie rozumiesz. Nawet przyłapywany co chwile
na kłamstwach, brniesz dalej w ignorancję.
-
336. Data: 2022-07-21 21:34:29
Temat: Re: Rynek pracy STM32
Od: heby <h...@p...onet.pl>
On 21/07/2022 21:20, Janusz wrote:
>> Na razie wychodzisz na ignoranta. Jestes pewny, że widziałes kiedyś na
>> oczy komputer? Współczesny? Taki po Odrze?
> Chłopcze, sam jesteś ignorantem, żegnam.
To się kiedyś *plonk* nazywało, ale na Odrze mogło jeszcze nie być.
-
337. Data: 2022-07-21 22:36:04
Temat: Re: Rynek pracy STM32
Od: Janusz <j...@o...pl>
Powiem krótko, pierdol się, jesteś bucem i tyle.
-
338. Data: 2022-07-21 22:42:27
Temat: Re: Rynek pracy STM32
Od: heby <h...@p...onet.pl>
On 21/07/2022 22:36, Janusz wrote:
> Powiem krótko, pierdol się, jesteś bucem i tyle.
Fakty potafią boleć. Ja wiem.
-
339. Data: 2022-07-21 23:56:39
Temat: Re: Rynek pracy STM32
Od: Janusz <j...@o...pl>
W dniu 2022-07-21 o 22:42, heby pisze:
> On 21/07/2022 22:36, Janusz wrote:
>> Powiem krótko, pierdol się, jesteś bucem i tyle.
>
> Fakty potafią boleć. Ja wiem.
Dupa a nie fakty, ja dyskutując z tobą starałem się ciebie nie obrażać a
ty ciągle robisz wycieczki osobiste i mnie obrażasz, nazywasz mnie
kłamcą, nieukiem itd. a tymczasem ja mam prawo mieć swoje zdanie,
programować można na wiele różnych sposobów bel osiągnąć właściwy cel. A
ty tonem wszystkowiedzącego narzucasz tylko swój punkt widzenia a co nie
pasuje to mieszasz z błotem. Czyli zachowujesz się jak typowy gbur,
zarozumiały buc i prostak który bez wycieczek osobistych nie potrafi
dyskutować.
--
Janusz
-
340. Data: 2022-07-22 09:11:47
Temat: Re: Rynek pracy STM32
Od: heby <h...@p...onet.pl>
On 21/07/2022 23:56, Janusz wrote:
>> On 21/07/2022 22:36, Janusz wrote:
>>> Powiem krótko, pierdol się, jesteś bucem i tyle.
>> Fakty potafią boleć. Ja wiem.
> Dupa a nie fakty
Jesteś na etapie ich negowania.
>, ja dyskutując z tobą starałem się ciebie nie obrażać
Ale Ci nie wychodzi.
> a
> ty ciągle robisz wycieczki osobiste i mnie obrażasz, nazywasz mnie
> kłamcą, nieukiem itd.
Oczywiście. Informacja o potoku jest w 2-gim akapicie wikipedii o 486.
Zanim napisałeś, nawet nie sprawdziłeś.
> a tymczasem ja mam prawo mieć swoje zdanie,
To się świetnie sprawdza w sztuce, ale nie w naukach ścisłych.
Szczególnie że nie piszesz "moim zdaniem 486 nie ma potoków" tylko
piszesz, że nie ma i już. To jest kłamstwo. Do sprawdzenia w 3 sekundy.
To samo ze statycznym i dynamicznym polimorfizmem, co do których nie
masz śladu pojęcia czym są. To nie są opinie. To są kłamstwa.
> programować można na wiele różnych sposobów bel osiągnąć właściwy cel.
Ale mimo to ludzkośc znalazła wspólne nazwy i techniki, pozwalajace jej
porozumiewać się w sposób ścisły. Tu nie ma miejsca na swoje koncepcje.
Szczególnie, że w Twoim przypadi te koncpecje są biegunowo odległe od
rzeczywistości.
> A
> ty tonem wszystkowiedzącego narzucasz tylko swój punkt widzenia
Ostatnio głównie cytuje definicje, z którymi się nie zgadzasz i
prezentuje przykłady, które w/g Ciebie nie mają prawa działać. To nie
jest mój punkt widzenia.
Tak naprawdę masz nikłą wiedzę w tych tematów. Zgaduje, że
najzwyczajniej świat Ci uciekł jakieś 20 lat temu i nie dogoniłeś go.
Ale dalej uważasz, że *wydaje* Ci sie, jak to ma działać, więc na pewno
tak działa. No więc nie.
> a co nie
> pasuje to mieszasz z błotem.
Cytujac definicje? Jesteś jednym z tych ludzi, którzy uważają prawdę za
obraźliwą? Kompilatory C++ nie działają, jak myślisz. Runtime
generowanego kudu nie działa, jak myślisz. Procesory mają potoki,
odwrotnie jak myślisz. To Cie miesza z błotem? Że świat działą inaczej?
> Czyli zachowujesz się jak typowy gbur,
> zarozumiały buc i prostak który bez wycieczek osobistych nie potrafi
> dyskutować.
Przecież sam wpadłeś w środek *grzecznej* i bardzo miłej dyputy z butam,
wrzeszcząć coś o Harvardzie, nie mając pojęcia jak działa współczesny
procesor, posługując się stosem kłamstw i bredni. Buc? Oglądałeś się
ostatnio w lusterku? Gdybys tu nie wpadł ze swoją ignorancją dysputa
grzecznie by się zakończyła. A tak, nie możesz odpuścić, zamiast
dopuścić fakt, ze nie wiesz co mówisz.
Dostałeś to, z czym przyszedłeś. Dostałeś w łeb starając się ustawić
dyskutanta do pionu. Obnażono trudne do przełknięcia fakty, że nie masz
pojęcia o czym mówisz. Być może myślałeś że znasz się na czymś, ale nie
bierzesz pod uwagę, że *zawsze* są ludzie znający się na czymś lepiej i
należy najzwyczajniej uważać w pewności siebie. Tu jest pełno ludzi,
którzy znają się lepiej ode mnie na masie tematów i nie przyszło by do
głowy spierać się znimi o czymś, czego nie rozumiem. Dyskusja to nie
narzucanie punktów widzenia. Za to wpadanie w środek grzecznej dysputy z
ignorancją w ręku, już tak.