[elektro] megint C
Skandar Graun
sgraun at gmail.com
Thu Dec 6 10:09:52 CET 2012
Teljesen egyetértek.
Az egyik fő problémám egyébként a C-vel pont ez a nüansznyi eltérésekből
őröletes baromságok kategóriájú hozzáállása.
Ad egy warningot, valami cast-ra. Aztán csak azt veszed észre, hogy nem
fordítja be azt a rutint.
Most megint a pointerekkel szívok, átloptam a kódot és nagyon nem megy.
De még nem érte el azt az ingerküszöböt, hogy feltegyem a listára.
2012. december 6. 9:41 SZIGETI Szabolcs írta, <szigiszabolcs at gmail.com>:
> Hali!
>
> Igen, a C nagyon alkalmas arra, hogy másokat szívassunk a kóddal, sőt,
> saját magunkat is nagyon jól meg tudjuk szívatni. Ennek leginkább
> történelmi okai vannak, hiszen a C nem egy modern nyelv, és elég sok -
> mondjuk úgy - furcsasága abból adódik, hogy amikor kitalálták mások voltak
> a lehetőségek, mind hardver, mind fordítók területén. A fenti példa is arra
> szolgált, hogy megértsük, hogyan működnek a tömbök és a pointerek, és miért
> viselkednek bizonyos dolgok másként, mint azt egyéb nyelvekben esetleg
> megszoktuk. Semmiként sem egy követendő példa.
> Majdnem egy évtizedig tanítottam programozást a BME-n. Nem mintha ez
> bármire feljogosítana, de elég sok mindent láttam, hogy ki, hogyan tudja
> megszívatni magát és főleg, hogy mik a kezdők hibái.
> Mindig is azt hangoztattam, hogy manapság kódot nem írunk, hanem olvasunk.
> Egyrészt számtalan előre gyártott kódot használunk, másrészt a fejlesztés
> során sokszor van, hogy elő kell vennünk egy-két-száz hónappal ezelőtt írt
> kódunkat és nagyon nem mindegy, hogy mennyire olvasható és megérthető. Csak
> azért mert az egész programunkat bele tudjuk tenni egy while ciklus
> fejlécébe, még nem biztos, hogy érdemes is ezt megtenni.
> A mai optimalizáló compilerek nagyon jók. Ezeket arra készítették fel, hogy
> felismerjék azokat a szokásos konstrukciókat, amelyeket jól tudnak
> optimalizálni. Gyakori, hogy a teljesen hagyományos kódból jobbat fordít,
> mint az eleve trükközöttből, mivel azt nem ismeri fel, hogy mit is akar az
> író. Ez nem jelenti azt, hogy a compiler mindig okosabb, és hogy _megfelelő
> mérés után_ nincs helye a kézi optimalizálásnak, de a tapasztalat az, hogy
> egy mai fordító igen jó teljesítményű kódot tud csinálni.
> Sajnos a C szinte tálcán kínálja a trükközést, mind a nyelv, mind pedig az
> előfeldolgozó. (Gondlom sokaknak ismerős: http://www.ioccc.org/)
> Ha meg bírjuk állni, hogy kezdőként (vagy akár haladóként) inkább írunk
> "Pascal" kódot C-ben, hosszú távon jobban járunk, főleg, amikor a
> megrendelő két év múlva szeretné továbbfejlesztetni a cuccot.
> Ha megértettük a működést, akkor meg úgyis fogjuk tudni, hogy mit érdemes,
> és mit nem.
>
> Szabolcs
>
>
>
> 2012. december 5. 19:15 Fuzesi Arnold írta, <arnold.fuzesi.lista at gmail.com
> >:
>
> > WOW, mindig tanul az ember :)
> >
> > Hogyan írjunk másokat szivató kódot. Chapter#1 :)
> >
> > A.
> >
> > On 2012.12.05. 16:50, SZIGETI Szabolcs wrote:
> >
> > > És ugye ebből jön az ismert példa: t[3] --> *(t+3) --> *(3+t) -->
> > 3[t], és
> > > ezt minden C fordító megeszi.
> > >
> > > Szabolcs
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
> >
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list