-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.or
g!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <h...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Rynek pracy STM32
Date: Thu, 21 Jul 2022 15:34:32 +0200
Organization: A noiseless patient Spider
Lines: 61
Message-ID: <tbbkla$2d30n$1@dont-email.me>
References: <tardm4$3173v$1@dont-email.me>
<a...@n...neostrada.pl>
<tb5ldk$6sn$1@gioia.aioe.org>
<c...@g...com>
<tb698g$s2m$1@gioia.aioe.org>
<d...@g...com>
<tb6dag$144m0$1@dont-email.me>
<1...@g...com>
<tb6gpj$3gt$2@gioia.aioe.org>
<2...@g...com>
<tb6v4b$rua$1$Janusz@news.chmurka.net> <tb7p64$vt1$1@gioia.aioe.org>
<tb8i4k$qld$1$PiotrGalka@news.chmurka.net>
<tb8m06$t8s$1$cezar91@news.chmurka.net>
<tb8pqg$vgi$1$PiotrGalka@news.chmurka.net> <tb8qeq$1jm46$1@dont-email.me>
<tb9hi8$ftq$1$PiotrGalka@news.chmurka.net> <tb9iap$1prti$1@dont-email.me>
<tb9ml5$j7v$1$PiotrGalka@news.chmurka.net> <tb9qse$1rups$1@dont-email.me>
<tbbims$n4p$1$PiotrGalka@news.chmurka.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 21 Jul 2022 13:34:34 -0000 (UTC)
Injection-Info: reader01.eternal-september.org;
posting-host="4b1a9714099fa436f590e0b9d50339d4";
logging-data="2526231";
mail-complaints-to="a...@e...org";
posting-account="U2FsdGVkX19lfJwxxpgnsqqVFv0azi/X"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Cancel-Lock: sha1:4bc5L5V7oc/aigev2ZuXpYXR/ms=
Content-Language: en-US
In-Reply-To: <tbbims$n4p$1$PiotrGalka@news.chmurka.net>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:773403
[ ukryj nagłówki ]On 21/07/2022 15:01, Piotr Gałka wrote:
> To wiem. Ale mógłbyś mieć więcej tolerancji gdy ktoś się walnie i potem
> nie umie się z tym pogodzić.
Przyjmuje do wiadomości.
> Brat niedawno nie zostawiał suchej nitki na jakimś przykładowym
> programie USB dla tego Silabsa. Jak pisałeś o metodach znanych od lat
> 80-tych oddzielenia kodu od hardware'u to miałem wrażenie, że ten
> program co mu się tak bardzo nie podobał to pewnie był napisany według
> tych metod.
Zakładałeś, że mógł nie zrozumieć idei?
Codziennie muszę walczyć z takim podejściem w sobie: wydaje mi się że to
jest źle napisane. Ale jednoczesnie wiem, nie pisali tego idioci. Na sam
koniec zazwyczaj okazuje się, że nie rozumiałem i jak zrozumiałem, to
już się takie nie wydaje.
Ten pierwszy odruch "przeciez to jest źle!" należy w sobie zdusić ;)
> swój kawałek do którego przydzielone są np. 3 nogi i program pisze tak,
> jakby pozostałych nóg nie było. Pewnie użył jakąś bibliotekę gdzie ktoś
> zdefiniował jakąś abstrakcję obejmującą te 3 linie i ma w dupie co się
> dzieje naokoło - Jak można tak pisać !!
Tutaj dam ci kontrprzykład:
Taki kod: Foo = 1<<BAR;
Jaką masz pewnośc, że BAR to numer bitu a nie wartość binarna bitu? Obie
to int. Obie się skompilują.
Ktoś może powiedzieć: ale to trzeba wiedzieć!
Nie. Kiedy pisałem sporo kodu pod SAM7, programiści z Atmela mieli
bardzo swobodne metody na nazywanie wartości binarnych i numerów bitów i
*nigdy* nie było wiadomo. Czarę goryczy przelały pliki konfiguracyjne do
cpu, gdzie raz było #define BAR 16 a w innym, podobnym, #define BAR 4
(najwidoczniej ktoś poprawił).
Ten problem da się rozwiązać za pomocą C++ i szablonów. W taki sposób,
że błedne użycie NIE będzie możliwe. Kod szablonowy będzie dośc długawy,
ale na sam koniec będziesz to widział u siebie jako Foo |= BAR; lub
podobnie. Ba, nie będzie się dało pomylić rejestru, flagi będa
przypisane do konkretnego.
Czy to dobrze?
Okazuje się że nie.
Przychodzi embedowiec, widzi te wszystkie "debilizmy z templates" i
biadoli ile to kodu w CPU zjada i dlaczego nie działa z Harvardem.
A zjada 0 Flasha. Tak naprawdę, to "kod templaetowy" wykonuje się na
etapie kompilacji, jako metajęzyk.
... po czym miesiąc szuka kodu, w którym pomylił flagę.
Czasami ciezko pojąć, że ludzie wkręcają śrubki młotkiem, ale tak to
wygląda z mojej perspetkywy.
Następne wpisy z tego wątku
- 21.07.22 15:34 heby
- 21.07.22 16:25 Janusz
- 21.07.22 16:25 Piotr Gałka
- 21.07.22 16:27 Janusz
- 21.07.22 16:29 Piotr Gałka
- 21.07.22 16:33 Janusz
- 21.07.22 16:40 Janusz
- 21.07.22 16:41 heby
- 21.07.22 16:43 heby
- 21.07.22 16:46 heby
- 21.07.22 16:48 heby
- 21.07.22 17:37 Janusz
- 21.07.22 17:42 Janusz
- 21.07.22 17:49 heby
- 21.07.22 17:58 heby
Najnowsze wątki z tej grupy
- Co z Fideltronikiem?
- Zamiana aku żelowych w UPS na LiFePo4
- stara idea nowe hardware
- Dzwonek gong z transformatorem
- espnow przerywa na jeziorze?
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
Najnowsze wątki
- 2024-07-18 Plaj blokuje usuwanie swoich kontaktów. A to SZMATY
- 2024-07-19 Re: Zgody...
- 2024-07-19 Octavia 2011r vs Audi A3 2007r
- 2024-07-18 ANNA BRYŁKA - RZĄD MANIPULUJE INFORMACJAMI O PODATKACH OD AUT SPALINOWYCH
- 2024-07-19 Co z Fideltronikiem?
- 2024-07-18 Zamiana aku żelowych w UPS na LiFePo4
- 2024-07-19 Warszawa => Head of International Freight Forwarding Department <=
- 2024-07-19 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-19 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-07-19 Warszawa => Senior Rust Software Engineer <=
- 2024-07-19 Poznań => UX/UI Designer <=
- 2024-07-19 Łódź => Senior PHP Developer <=
- 2024-07-19 Ryga => Junior NOC Engineer <=
- 2024-07-19 Ulm => Technischer Rollouter (d/m/w) <=
- 2024-07-19 Warszawa => International freight forwarder <=