Jak na PIC a C++ nebo spise C

Jan Waclawek konfera na efton.sk
Sobota Prosinec 4 19:04:50 CET 2010


>S C som zacinal ako samouk a na doporucenie som sa ucil
>prave z K&R. V tej dobe som poznal asm Z80 a '51, co mi  umoznilo
>pochopit pointery (znamy problemovy bod novacikov v C) takmer na prve
>precitanie. 

No vidis, tak toto je ten zasadny rozdiel. Kedze ja som C chapal ako sk*rveny Pascal, ja tom tie nestastne pointre nepochopil (aj ked v tom case som uz aktivne programoval v asm pre 8080/Z80 aj 6502), resp. som chapal ich "vysso-jazykovy" vyznam a ucel (tak ako v Pascale), ale to ich "nizkourovnove" fungovanie (aritmetiku, referencovanie existujucej premennej, pouzivanie na odovzdavanie parametra referenciou ci uz formalne alebo fakticke) a rozne tie spinave triky okolo toho nie.

>Teraz ked mam nejaky problem, pozriem do normy, ale tu
>doporucovat zaciatocnikovi urcite nebudem :-)

Ja sa v pripade problemov ako prve pozriem do listingu. Vlastne na jednocipoch som s C tak zacinal - hral som sa s SDCC, pisal som nejaky program a v kuse som pozeral, ako to prelozil, a skusal uhadnut, ze preco ;-)

Norma C je hrozny bordel a je to len taky dodatocny popis toho, ako sa Thomsonovi a Ritchiemu podarilo prekladac zbastlit v tom ci onom konkretnom bode, plus neskor vzniknute prilepky. Inak presne tak vyzera aj parser pre prekladac - je to cista hroza, sama vynimka a specialita, a z toho vyplyvaju aj potom tie rozne tieniste a neprebadane zakutia. Toto je tiez rozdiel oproti Pascalu - dnesna ISO norma je minimalne na 50% zhodna s povodnou Wirthovou spravou, a podla prisne popisaneho jazyka v BNF sa da napisat parser takmer bez rozmyslania.

Ale v jednom aj druhom pripade v norme samotnej chyba ta historicko-kulturalna stava, ktora vysvetluje jednotlive konkretne rozhodnutia, preco je to takto a nie inak. Na tento ucel pouzivam kombinaciu normy s tou free knizkou Dereka Jonesa (ktory ako jeden z clenov ISO komisie urcite vie o com pise), doplnane podla potreby wikipediou, c-faq, niektorymi spravami z rokovani komisie a otazkami na hw-list ;-)

wek


Další informace o konferenci Hw-list