Programovací nástroj - Programming tool

Programovací nástroj nebo nástroj pro vývoj software je počítačový program , který vývojáři softwaru používají k vytváření, ladění, údržbu nebo jinak podporovat ostatní programy a aplikace. Termín se obvykle vztahuje k relativně jednoduchým programům, které lze kombinovat pro splnění úkolu, podobně jako by člověk mohl použít více rukou k opravě fyzického objektu. Nejzákladnějšími nástroji jsou editor zdrojových kódů a překladač nebo překladač , které se používají všudypřítomně a nepřetržitě. Další nástroje se používají víceméně v závislosti na jazyce, metodice vývoje a individuálním inženýrovi, často se používají pro diskrétní úkoly, jako je debugger nebo profiler. Nástroje mohou být diskrétní programy, prováděné samostatně - často z příkazového řádku - nebo mohou být součástí jednoho velkého programu, nazývaného integrované vývojové prostředí (IDE). V mnoha případech, zejména pro jednodušší použití, se místo nástroje používají jednoduché ad hoc techniky, jako je například ladění tisku místo použití ladicího programu, ruční časování (celkového programu nebo části kódu) namísto profilovacího nástroje nebo sledování chyb v textový soubor nebo tabulku místo systému pro sledování chyb.

Rozdíl mezi nástroji a aplikacemi je temný. Například vývojáři jako nástroje neustále používají jednoduché databáze (například soubor obsahující seznam důležitých hodnot ). Plnohodnotná databáze je však obvykle považována za aplikaci nebo software sama o sobě. Mnoho let byly vyhledávány nástroje počítačového asistovaného softwarového inženýrství (CASE). Úspěšné nástroje se ukázaly jako nepolapitelné. V jednom smyslu nástroje CASE kladly důraz na podporu designu a architektury, například pro UML. Ale nejúspěšnější z těchto nástrojů jsou IDE.

Využití programovacích nástrojů

Překlad z lidského do počítačového jazyka

Moderní počítače jsou velmi složité a aby je bylo možné produktivně naprogramovat, jsou zapotřebí různé abstrakce. Programátor například místo zápisu binární reprezentace programu napíše program v programovacím jazyce jako C, Java nebo Python. Programovací nástroje, jako jsou assemblery , kompilátory a linkery, překládají program z lidského zapisovatelného a čitelného zdrojového jazyka do bitů a bajtů, které může provádět počítač. Tlumočníci interpretují program za běhu, aby vytvořili 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, pokud by je prováděl člověk, například rozložení částí programu do paměti a stanovení odkazů mezi částmi programu tak, jak to dělá linker. Optimalizace kompilátorů na druhé straně může provádět složité transformace zdrojového kódu, aby se zlepšila rychlost provádění nebo jiné vlastnosti programu. Programátor se tak může více soustředit na koncepční aspekty programu na vyšší úrovni, aniž by si dělal starosti s detaily stroje, na kterém běží.

Zpřístupnění informací o programu pro lidi

Kvůli vysoké složitosti softwaru není možné pochopit většinu programů na první pohled ani pro nejzkušenějšího vývojáře softwaru. Abstrakce poskytované programovacími jazyky na vysoké úrovni také ztěžují pochopení spojení mezi zdrojovým kódem napsaným programátorem a chováním skutečného 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 všech druhů informací o programech.

Ladicí program například umožňuje programátorovi extrahovat informace o spuštěném programu z hlediska zdrojového jazyka použitého k jeho programová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 upozorňovat na diskutabilní nebo přímo špatné přístupy do paměti spuštěných programů, které by jinak mohly zůstat nezjištěny a jsou běžným zdrojem selhání programu.

Seznam nástrojů

Softwarové nástroje mají mnoho podob:

IDE

Integrovaná vývojová prostředí kombinují funkce mnoha nástrojů do jednoho balíčku. Usnadňují například provádění konkrétních úkolů, například hledání obsahu pouze v souborech v konkrétním projektu. IDE lze například použít pro vývoj aplikací na podnikové úrovni.

V tomto srovnání integrovaných vývojových prostředí lze nalézt různé aspekty IDE pro konkrétní programovací jazyky .

Viz také

Reference

  • Nástroje pro vývoj softwaru pro Petascale Computing Workshop 2007
  • Kernighan, Brian W .; Plauger, PJ (1976), Softwarové nástroje , Addison-Wesley, s.  352 , ISBN 0-201-03669-X

externí odkazy

Média související s programovacími nástroji na Wikimedia Commons