-
Data: 2012-05-06 14:28:03
Temat: Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 06.05.2012 12:13, Sebastian Biały wrote:
> G. prawda. Nic takego nie generalizuje. C++ jeśli jest przynosi
> korzyści. W różnych zakresach. Na małych procesorach pozwala używać
> częsci technik RTTI do polepszania jakości, na duzych pozwala tworzyć
> abstrakcje znane z wiekszych systemów. Od poczatku mówie, że możesz
> sobie z niego wziąśc kawałek i użyć tam gdzie polepszy jakość. Możesz
> sobie wziąśc CriticalSection i polepszyć jakość bez uzywania
> czegokolwiek innego. Świat nie jest czarno-biały. Nikt nie zmusza do
> uzywania C++, natomias jak go masz - masz darmowe ciastko.
G. prawda. C++ jest świetny, ale potrzebujesz programisty który:
- zna go na dobrym poziomie
- zna się na programowaniu uC
- zna się na programowaniu uC w C++
inaczej będzie produkował kod na niskim lub bardzo niskim poziomie.
Prosty przykład - boost::mpl działa na uC, ale np konkatenacja stringów
jeżeli nie jest robiona na variadic template to daje rezultat stałej
wielkości. Fajnie, że zrobisz generowanie napisów w czasie kompilacji,
ale przy okazji stracisz ~20 bajtów na każdym. Programista musi to
zauważyć, zrozumieć i obejść. Nie może używać c++ na zasadzie "magia:
takie zaklęcie działa, nie zmieniać"
> Zakładam że jesli ktoś wali gownianym kodem to trzeba to naprawić bo
> inaczej twoja ekonomia robije się o szybki czas pisania ale długi
> debugowania. Mam wrażenie że pracujesz w typowej firmie do odwalania
> kodu byle jak (co nie znaczy że nie działającego). Być może taka
> specyfika rynku, ale to nie jest powod do dumy i slaby background
> rozmowy o polepszaniu jakości.
Czy ty na pewno robisz w embedded?
Cytaty z przykładowego kodu od NXP:
>> Descriptions: Set the I2C stop condition, if the routine
>> never exit, it's a fatal bus error.
To się nazywa obsługa błędów.
>> Returned value: true or false, return false if the I2C
>> interrupt handler was not installed correctly
[...]
>> return( TRUE );
To się nazywa dobra dokumentacja.
>> #define I2C_IDLE 0
>> [...]
>> #define I2C_TIME_OUT 11
[...]
>> Returned value: true or false, return false only if the
>> start condition can never be generated and
>> timed out.
[...]
>> if ( timeout >= MAX_TIMEOUT )
>> {
>> I2CMasterState = I2C_TIME_OUT;
[...]
>> return ( I2CMasterState );
To nie wiem nawet jak nazwać. Sabotaż?
To wszystko w 400 liniach kodu - i potem ludzie wzorujący się na takim
kodzie otrzymanym OD PRODUCENTA mają pisać dobry soft?
> Świetnie. Zakladamy że za 2 lata ten twój klient powie - no, nadszedł
> czas na nowy ficzer.
Gorzej - potem się okazuje, że w kodzie jest dość poważny bug
logiczny[1] a flash i cykle są tak wyżyłowane do granic że buga się nie
da naprawić w sensownym czasie. Kończy się na odpaleniu watchdoga na
sztywno i resetowaniu układu co 5 sekund. ;)
[1] z powodu buga w specyfikacji wymagań, nawet nie wina programisty
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 06.05.12 15:04 Sebastian Biały
- 06.05.12 15:19 Jerry1111
- 06.05.12 15:37 Sebastian Biały
- 06.05.12 16:05 Michoo
- 06.05.12 16:12 Sebastian Biały
Najnowsze wątki z tej grupy
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
Najnowsze wątki
- 2025-06-19 Gdynia => Sales Executive / KAM <=
- 2025-06-19 Warszawa => IT Business Analyst (projects in the telco sector) <=
- 2025-06-19 Lublin => Programista Delphi <=
- 2025-06-19 Warszawa => Scrum Master <=
- 2025-06-19 Warszawa => Solution Architect <=
- 2025-06-19 Warszawa => Software Solution Architect <=
- 2025-06-19 Zakrzewo => Konsultant SAP HCM <=
- 2025-06-19 Zakrzewo => SAP HCM Consultant <=
- 2025-06-19 Poznań => SAP HCR Consultant <=
- 2025-06-19 6,756,000 car crashes in the United States in 2019 with 36,096 fatalities.
- 2025-06-19 6,756,000 car crashes in the United States in 2019 with 36,096 fatalities.
- 2025-06-18 Poseł KO mecenas Giertych został pouczony o obowiązującym prawie [z SN]
- 2025-06-18 112
- 2025-06-18 Poznań => MLOps Engineer <=
- 2025-06-18 Gdańsk => Mainframe (z/OS, Assembler) Developer <=