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
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!not-f
    or-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
    Date: Sun, 06 May 2012 14:28:03 +0200
    Organization: Netia S.A.
    Lines: 74
    Message-ID: <jo5qt6$gmp$1@mx1.internetia.pl>
    References: <4f9d25af$1$1209$65785112@news.neostrada.pl>
    <jnkhcv$9v6$1@news.dialog.net.pl> <jnldta$e37$1@mx1.internetia.pl>
    <o...@j...jedi> <jnmqll$dqi$2@inews.gazeta.pl>
    <o...@j...jedi> <jnmvba$pbl$1@inews.gazeta.pl>
    <o...@j...jedi> <jnn0o5$ssr$1@inews.gazeta.pl>
    <o...@j...jedi> <jnn2ld$3ti$1@inews.gazeta.pl>
    <o...@j...jedi> <jnomqu$stm$1@inews.gazeta.pl>
    <o...@j...jedi> <jnprj1$oao$1@inews.gazeta.pl>
    <jns5kg$f21$1@inews.gazeta.pl> <jnsacs$rph$1@inews.gazeta.pl>
    <jnuqev$11e$1@inews.gazeta.pl> <jnuugj$ada$1@inews.gazeta.pl>
    <jo17h0$rvv$1@inews.gazeta.pl> <jo2i12$8ms$1@inews.gazeta.pl>
    <jo37cn$io3$1@inews.gazeta.pl> <jo3crt$1k1$1@inews.gazeta.pl>
    <jo3p45$rtv$1@inews.gazeta.pl> <jo3rdh$4bc$1@inews.gazeta.pl>
    <jo3vlt$fc7$1@inews.gazeta.pl> <jo44bm$r0r$1@inews.gazeta.pl>
    <jo49mh$b31$1@inews.gazeta.pl> <jo4cm0$gfd$1@inews.gazeta.pl>
    <jo5edt$62l$1@inews.gazeta.pl> <jo5isa$fon$1@inews.gazeta.pl>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1336307430 17113 83.238.197.12 (6 May 2012 12:30:30 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sun, 6 May 2012 12:30:30 +0000 (UTC)
    In-Reply-To: <jo5isa$fon$1@inews.gazeta.pl>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20120216
    Icedove/8.0
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:630671
    [ ukryj 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: