eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[Zlecę] wykonanie interface'u Ethernetowego do architektury Z80Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
  • Data: 2012-05-02 14:52:02
    Temat: Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
    Od: "Andrzej Ekiert" <d...@t...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia 02-05-2012 o 01:28:30 Sebastian Biały <h...@p...onet.pl>
    napisał(a):

    > Ja rozumiem to jako podejście w stylu boost::mpl.
    >

    Ładne. Ale szczerze mówiąc to nie bardzo widzę, jaki problem to rozwiązuje
    w przypadku programowania naszego 8-bitowca z 1kB kodu.

    > Destruktory to cecha która nie wymaga podejścia obiektowego do
    > programowania. Najprościej:
    >
    > struct CriticalSection {
    > CriticalSection{ cli(); }
    > ~CriticalSection{ sei(); }
    > };

    Sprytne i fajnie pokazuje, jak działa destruktor. Ale ja bym po prostu
    napisał:

    cli();
    ... kod krytyczny
    sei();

    Lepiej widać w jednym miejscu co się dzieje, bez szukania definicji klasy
    CriticalSection, bez zastanawiania się gdzie jej obiekt wychodzi z
    zasięgu, no i bez ryzyka, że osoba, która nie jest autorem kodu nie
    zauważy, że wsród paru zmiennych lokalnych jest jakiś dziwny pozornie
    nieużywany obiekt.

    > Odwrotnie: dzieki swojemu samoczynnemu dzialaniu *ochraniają* przed
    > wieloma subtelnymi bugami w stylu "a mi się tu zapomniało zdjąć flagę
    > przerwania".

    Ja tam wolę widzieć przebieg programu, a nie musieć ciągle pamiętać, że
    między ostatnią instrukcją funkcji, a '}' uruchomi się jeszcze seria
    niewidzialnych funkcji. Zresztą, akurat w mojej praktyce programowania
    małych uC potrzeba nietrywialnej destrukcji "obiektu" zachodzi bardzo
    rzadko.

    >> podając to jako coś ponadmarginalnie przydatnego przy programowaniu
    >> mikrokontrolerów 8-bit.
    >
    > Mi się przydaje. Przyznaje, idę pod prąd.

    Skoro ci się przydaje i masz nawyk ciągłego stosowania takich konstrukcji,
    to rozumiem że koniecznie chcesz mieć C++.

    > Moje marzenie to PIC w sensie peryferiów i AVR w sensie rdzenia. Ale sie
    > nie doczekalem bo przyszły ARMy i pozamiatały.

    Architektura 16-bit Microchipa (PIC24, dsPIC33) to właśnie coś takiego.
    Bardzo elegancko zaprojektowana, przyjemnie się z tym pracuje - moim
    zdaniem dużo ładniejsza niż MIPS, którego użyli w PIC32, oraz niż ARM.

    > Nie zmuszajmy MC żeby pisał kompilator Ady dla 0.01% programistow uC.
    > Ale C++ mógłby. Wystarczylo sportować gcc.

    Nie zmusimy ich do niczego, bo tam kalkulacja jest prosta: zrobienie
    kompilatora kosztuje tyle, a zyskamy na tym tyle. Jeśli nierówność zaczyna
    wychodzić zdecydowanie na korzyść, to robią.

    > No chyba, że architektura PICów nie da się wmontować w backed gcc.

    gcc zostało przeniesione na architektury 16 i 32 bit. Jeśli chodzi o te 32
    bit (rdzeń MIPS) to spodziewam się, że prędzej czy później kompilator C++
    się pojawi. Do 16-bit też pewnie mogliby to w miarę tanio zrobić - mi
    zupełnie jednak na tym nie zależy.

    ae

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: