Překlad z lidského do počítačového jazykaEdit
Moderní počítače jsou velmi složité a k jejich produktivnímu programování jsou zapotřebí různé abstrakce. Například místo zápisu binární reprezentace programu programátor napíše program v programovacím jazyce, jako je C, Java nebo Python. programovací nástroje, jako jsou assemblery, kompilátory a linkery, převádějí program z lidsky zapisovatelného a čitelného zdrojového jazyka na bity a bajty, které může počítač spustit. Interprety interpretují program za běhu, aby vytvořily požadované chování.
Tyto programy provádějí mnoho dobře definovaných a opakujících se úkolů, které by však byly časově náročné a náchylné k chybám, kdyby je prováděl člověk, jako je rozvržení částí programu v paměti a oprava odkazů mezi částmi programu, jak to dělá linker.Optimalizační překladače mohou na druhé straně provádět složité transformace zdrojového kódu s cílem zlepšit rychlost provádění nebo jiné vlastnosti programu. Programátor se tak může více soustředit na vyšší, koncepční aspekty programu, aniž by se musel starat o detaily stroje, na kterém program běží.
Zpřístupnění informací o programu člověkuEdit
Vzhledem k vysoké složitosti softwaru není možné pochopit většinu programů na první pohled ani pro nejzkušenějšího softwarového vývojáře.abstrakce poskytované vysokoúrovňovými programovými jazyky také ztěžují pochopení souvislostí mezi zdrojovým kódem napsaným programátorem a skutečným chováním programu.Aby vývojář softwaru našel chyby v programech a zabránil vytváření nových chyb při rozšiřování programu, používá některé programovací nástroje k vizualizaci nejrůznějších informací o programech.
Například ladicí program umožňuje programátorovi získat informace o běžícím programu z hlediska zdrojového jazyka použitého k jeho naprogramování. ladicí program může vypočítat hodnotu proměnné ve zdrojovém programu ze stavu konkrétního stroje pomocí informací uložených kompilátorem. Ladicí programy paměti mohou přímo upozornit na sporné nebo přímo chybné přístupy běžících programů do paměti, které by jinak mohly zůstat neodhaleny a jsou častým zdrojem selhání programu.