eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[Zlecę] wykonanie interface'u Ethernetowego do architektury Z80 › Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: