Programátorská chyba
Z Wikipedie, otevřené encyklopedie
Programátorská chyba je chyba, kterou udělal programátor při vytváření programu.
[editovat] Zdroje chyb
Chyba může být:
- Syntaktická
- Taková chyba spočívá v narušení syntaxe gramatiky použitého programovacího jazyka. U kompilovaných programů ji překladač zahlásí přímo při překladu během syntaktické analýzy.
- Sématická
- Program se bez problému přeloží, ale nedělá co má. Například skončí v nekonečném cyklu, spadne (je násilně ukončen operačním systémem pro porušení přidělených práv) nebo vydá naprosto špatný výsledek (což je většinou ta nejhorší možná varianta). Ve složitějším programu (například operačním systému) se může stát, že program pozná, že se dostal do chybné situace, ale není schopen pokračovat ve funkci a proto se zastaví nebo ukončí, obvykle se specifickým chybovým hlášením.
- Neočekávaná událost
- Při běhu programu nastane situace, se kterou programátor nepočítal a na kterou neumí program správně zareagovat. Může to být situace vnitřní (například se pokouší psát do souboru na disku, ale disk je plný) nebo neočekávaná hodnota vstupu.
Velmi často způsobí chybu obyčejný překlep, například ve jméně proměnné, použití 1 místo 0 nebo < místo <=. Takové chyby se zvlášť špatně hledají.
Dalším zdrojem chyb je chybné nebo nedostatečné použití synchronizačních primitiv při přístupu ke sdíleným zdrojům. Taková chyba může v programu vydržet velmi dlouho a projevit se teprve při specifickém pořadí naplánování vláken na procesoru nebo procesorech. Podmnožinou těchto chyb je deadlock.
[editovat] Bug
Programátorská chyba se často i v češtině označuje anglickým výrazem bug a proces jejího odstraňování debugování.
Bug znamená doslova moucha, štenice nebo obecně brouk. V angličtině se ve významu chyba (například konstruktérská) používá už velmi dlouho - použil ho například Thomas Edison roku 1878 když mluvil o svých vynálezech. S počítači pak pronikl do mnoha dalších jazyků.
Traduje se, že původem tohoto významu je problém způsobený skutečným hmyzem. Známá je třeba historka o molu zachyceném na relé počítače Mark II 9. září 1947. Mol byl pečlivě vyproštěn a nalepen do záznamu s poznámkou „první skutečný případ nalezeného bugu“. Je ovšem zřejmé nejen že se nejedná o první výskyt termínu, ale i že operátoři o konstruktérském použití věděli.

