C (programovací jazyk): Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Riadok 191:
== Problémy ==
 
Populárne príslovie, opakované aj takými významnými návrhármi jazykov ako [[Bjarne Stroustrup]], hovorí, že "C ti uľahčí streliť sa do nohy." Inými slovami, C povoľuje viacero operácií, ktoré sú vo všeobecnosti nežiadúce a tak mnohé jednoduché chyby programátora prejdú kompilátorom a zostanú nepovšimnuté aniaj počas behu. To vedie k programom s nepredvídateľným správaním a bezpečnostnými dierami.
 
Dôvodom je čiastočne to, že keď bol C jazyk pôvodne navrhnutý, kontroly počas kompilácie a behu boli príliš drahé. Preto namiesto ich umiestnenia do kompilátora bolo potrebné použiť iné nástroje ako [[lint]]. Iným dôvodom je snaha udržať C čo najvýkonnejšie a najflexibilnejšie; čím mocnejší je jazyk, tým ťažšie je dokázať veci o programoch v ňom napísaných. Dnes sú dostupné mnohé nástroje umožňujúce programátorovi detekovať a napraviť rôzne bežné problémy, ale iné je nemožné spoľahlivo detekovať kvôli nedostatku obmedzení C programov.