Diferite tipuri de software de programare sunt implicate în fiecare fază a dezvoltării unui nou program. Compilatorii efectuează munca esențială de a traduce limbajele de programare umane în limbaj de mașină care poate fi procesat de un computer. Alte programe pot fi utilizate pentru a ajuta la depanare și la monitorizarea eficienței unui program în îndeplinirea sarcinilor specifice și utilizarea resurselor sistemului. Mediile de dezvoltare integrate combină mai multe dintre aceste varietăți de software de programare pentru computere într-un singur produs coeziv.
Cea mai de bază varietate de software de programare pentru computer este compilatorul. Programatorii scriu cod într-un limbaj de programare, cum ar fi C++, Python sau Basic. Acest cod poate fi scris de obicei folosind orice tip de editor de text, deși editorii dedicati care oferă coduri de culori și verifică greșelile tehnice sunt de mare ajutor. Odată ce acest cod sursă a fost scris, se folosește un compilator pentru a-l traduce într-un limbaj care poate fi executat direct de un computer. În unele cazuri, un decompilator poate fi folosit ulterior pentru a traduce un program înapoi în cod sursă care poate fi citit de oameni.
Depanatoarele sunt un tip util și comun de software de programare pentru computer. Un depanator permite unui programator să testeze și să-și monitorizeze codul. Cele mai multe permit codul sursă să fie parțial compilat și executat. Acest lucru permite depanatorului să monitorizeze valorile variabilelor, să verifice țintele pointerilor și să arate unui programator cu precizie ce instrucțiuni sunt executate la un moment dat. Această capacitate de a parcurge codul linie cu linie face mult mai ușoară urmărirea erorilor mici.
Programatorii se bazează, de asemenea, pe aplicații care monitorizează acuratețea muncii lor. Unele programe rulează valori diferite printr-un program pentru a se asigura că generează răspunsurile corecte, mai ales în cazuri neobișnuite sau marginale. Acest lucru este util în special pentru a determina ce se întâmplă atunci când un utilizator oferă o intrare sau o intrare formatată necorespunzător care se încadrează în limitele de valori așteptate.
Toate programele folosesc resursele sistemului, iar unele programe de programare pentru computere există pentru a urmări eficiența cu care sunt utilizate acele resurse. Aceste programe permit examinarea detaliată a managementului memoriei, accesului la disc și utilizării rețelei, printre altele. Aceste instrumente sunt deosebit de utile pentru programatorii care proiectează aplicații pentru a funcționa pe dispozitive mobile, unde resursele pot fi deosebit de limitate.
Mediile de dezvoltare integrate sunt instrumente foarte puternice și populare. Acest tip de software de programare pentru computer combină versiuni special create ale mai multor instrumente de programare diferite. Un exemplu tipic ar putea include un editor pentru scrierea codului sursă, un compilator, un depanator, unele instrumente pentru gestionarea memoriei și un program pentru a genera automat o schiță de documentație care explică funcționarea software-ului.