Prikaz jedne poruke
Stara 3.10.2018, 9:58   #18
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: Programiranje pocetnici

Mare, raširio si priču a ne dade ni jedan konkretan uporedni primer gde je C bolji od Pajtona za školske slučajeve.

C nije strogo tipiziran jezik, možeš da kastuješ bilo šta u bilo šta, da dereferenciraš adrese u bilo šta, da sakrivaš logiku typedef-ovima i #define direktivama. Evo divnog primera iz jednog mog programa koji je morao da radi na tri kompajlera i dva operativna sistema bez warninga:

Kod:
memcpy((void *)((uint8_t *)&channel->devinfo + SZ_4K), (const void*) &packet->content[DATA_OFFSET], sizeof(struct device_status_info) - SZ_4K);
Šta će neko ko počinje a ne zna arhitekturu i organizaciju računara da radi kad naleti na takve stvari? I koliko C programera zna šta je big/little endian i da x86 procesor pristupa memoriji u word-aligned maniru što utiče na podrazumevano pakovanje polja u strukturama.

Pročešljaj baš ovaj forum i gledaj kakvu pomoć traže ljudi koji su počeli da uče C. Čim dođu do implementacije ulančane liste, uvrzu se ko pile u kučine jer ih niko nije učio osnovnu stvar, a to je kako da modularizuju program, apstrahuju logiku i sve organizuju u strukture i funkcije pa tek onda krenu da implementiraju. Umesto toga, imaš sve živo nakarikano u main(), i alokaciju i dodavanje i oduzimanje elemenata, pa teško onom ko mora da nađe gde iskače segfault zbog pogrešnog rada s pokazivačima.

Da se razumemo, ne mislim da je npr. Java išta bolja za početnika jer boilerplate kod lako postane velik da se ne vidi šuma od drveta. Ali ako je Python za nešto odličan, to je prototajping a baš to je ono što početniku treba (a da on to i ne zna).
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
polarnimeda (3.10.2018)