-
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
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
Najnowsze wątki
- 2025-03-27 PKW JUŻ odrzuciła 9/53 kandydatów na prezydenta ale może JESZCZE nie mamy Drugiej Rumuni z TEGO powodu :-)
- 2025-03-27 Warszawa => Generative AI Engineer <=
- 2025-03-27 Warszawa => Asystent Sprzedaży <=
- 2025-03-27 Warszawa => Customer Service with Spanish + translation <=
- 2025-03-27 Gdańsk => PHP Developer <=
- 2025-03-27 Warszawa => C Programmer <=
- 2025-03-27 Czy prawo mówi o prawie do udziału w przesłuchaniu pełnomocnika czy pełnomocników?
- 2025-03-27 Warszawa => Programista C <=
- 2025-03-27 Gerald B. zeznawał z DWOMA pełnomocnikami z najwyższej półki
- 2025-03-27 Yanosik
- 2025-03-26 Jaka wełna na poddasze?
- 2025-03-26 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-26 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-03-26 Kraków => Spedytor Międzynarodowy <=
- 2025-03-26 Czujnik dławienia termicznego procesora - który?