Re: Tajemná zákoutí jazyka C.
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Pátek Leden 8 22:33:58 CET 2016
Druha moznost je, aby programatori zacli byt skutecne programatory...
Vsechny ty vychytavky jsou skvele, ale s drtivym dopadem na vykon.
Soucasne aplikace na mnohajadrovych CPU s taktem nekolika GHz funguji v
podstate stejne jako pred deseti lety aplikae na jednojadru se stovkami
MHz a desetinou pameti... Na PC se to jeste snese ale na MCU je to IMHO
docela problem - tam proste cena odpovida vykonu.
Pouzit zakladni C++ asi ano, nakonec arduino nejak funguje, ale treba
pouziti vyjimky zvysi naroky na pamet dost neunosne.
A je zajimave, ze skoro zadny projekt krome toho arduina na C++ nejede.
Nejvic me to prekvapilo u emWin, tam by objekty sedely jak prdel na
hrnec a nic...
Dne 08.01.2016 v 21:56 Ales Prochaska, Divesoft napsal(a):
> Říkám si, jestli už není na čase přejít na nějaký jiný jazyk s lepší
> detekcí programátorských chyb :-) :-) :-)
>
> Aleš Procháska
>
>> Na tohle téma bylo napsáno spousta textu, který většinou vůbec nic
>> neřeší. Jediná rada je udržovat disciplínu, do pole zapisovat (číst) na
>> jediném místě, kde se zároveň kontrolují meze. I v ansi C můžete
>> uplatnit objektový přístup.
>> C++ je na tom lépe, pole může být chráněno (protected) což si samostatné
>> metody pro čtení a zápis (z vnějšku třídy) přímo vynutí. Pak můžete
>> použít řadu vymožeností od přetížení operátorů [], -> * atd, po použití
>> smart pointerů.
>> Ale co jsem tak koukal, tak všechny ty moderní vymoženosti, které mají
>> práci usnadnit a předejít chybám produkují jen nové chyby (při nevhodném
>> použití), které se hůře hledají.
>> Takže pokud se vám to rozrůstá do nepřehlednosti, udělejte nový
>> komplexní návrh a celé to přepište nejlépe do objektů. Ušetříte si
>> spoustu práce.
>> Co zde míníte pod pojmem Garbage collector není zcela jasné, může to být
>> uklízeč nepotřebných sekcí z gnu linkeru, který je dobré používat nebo
>> automatické uvolňování objektů z haldy, které ansi C ani C++ sice
>> nepoužívá, ale vše směřuje k tomu, že se tím budeme muset zabývat i na
>> těch jednočipech. Bohužel.
>> Mrazík
>> Dne 8.1.2016 v 14:30 Jiří Nesvačil napsal(a):
>>> Taky se temto zapisum vyhnu. Radeji to delam v ansi-c pres struct a
>>> vlozim prvy do struct s odkazy na ne.
>>>
>>> Jinak, kdyz jsme u te slozitosti, co delate se stringy ci obecne polem
>>> na takovem STM cpu v ansi-c ? Nekolik poli ci stringu se da uhlidat, ale
>>> s rustem.... .
>>> Ja jsem napriklad predelal vsechny metody na praci se stringy v ansi-c,
>>> aby pracovaly s max delkou a nekde to nepreteklo. Docela se mi libi i
>>> pascal notace tj. dostat zde delku na prvni pozici. Garbage collector
>>> jsem zatim nepouzil, i kdyz to k tomu vede.
>>>
>>> Jirka
>>>
>>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list