Zu den nützlichen Programmierwerkzeugen gehört die Integrierte Entwicklungsumgebung (IDE). Intergierte Entwicklungsumgebungen werden meistens für eine Programmiersprache oder Plattform angeboten. Seit den 1990er Jahren gibt es zunehmend komplexere Entwicklungsumgebungen, die dem Programmierer zahlreiche wiederkehrende Funktionen bieten. Entwicklungsumgebungen der vierten Generation sind bis heute auf dem Markt bei Programmierwerkzeugen. Heute trifft man in der Regel virtuelle Entwicklungsumgebungen an, die über zahlreiche Tools verfügen. Man findet für alle populären Plattformen und Programmiersprachen die spezifischen Entwicklungsumgebungen im Internet. Zu unterscheiden sind die freien integrierten Entwicklungsumgebungen und die Freeware von den Entwicklungsumgebungen der Lizenzprodukte, die nicht den öffentlichen Quellcode zur Verfügung stellen. Zu den Tools bei Entwicklungsumgebungen gehören vor allem Texteditoren, Computersprachen- bzw. Maschinensprachenübersetzer wie Compiler, Interpreter und Assembler, Linker und Debugger. Debugger diagnostizieren die Fehler bei den Programmiersprachen, während Linker modulare Programmierungen zusammenfügt, damit ein Programm ausgeführt werden kann. Linker werden auch oft Binder genannt und können statistisch und dynamisch agieren. Zu den Programmierwerkzeugen bei integrierten Entwicklungsumgebungen gehört auch die Quelltextformatierungsfunktion. Populär ist die Quelltextformatierung bei Sprachen wie Java oder C++. Mit der Quelltextformatierung kann man unter anderem die Lesbarkeit erhöhen und einen Programmstil definieren. Die Quelltextformatierung hat das Kernziel die Programmierung zu vereinfachen, auch bei der Mitwirkung anderer Programmierer.
Integrierte Entwicklungsumgebungen bieten auch Tools zur grafischen Benutzeroberflächenerstellung (GUI- Graphical User Interface) an. GUI-Editoren gehören zu den Standardwerkzeugen der Programmierung. Entwicklungsumgebungen können über die Standardtools hinaus auch andere nützliche Anwendungen bieten, zum Beispiel bei der Versionsverwaltung. Bei der Versionsverwaltung spricht man auch von einer Form der Variantenverwaltung oder dem Variantenmanagement. Gebräuchlich ist für die Versionsverwaltung des Kürzel VCS für Version Control System. Moderne Versionsverwaltungen arbeiten ohne ein zentrales Archiv in Form einer verteilten Versionsverwaltung mit speziellen Datenbanksoftwares. Änderungen können heute lokal analysiert werden und sind vor allem vorteilhaft für viele Benutzer, die eine Version verändern. Es gibt verschiedene Konzepte wie man eine Versionsverwaltung aufbaut. Mehrere Nutzer können zum Beispiel mit der Arbeitsweise Copy Modify Merge eine Datei ändern. Zu den Tools bei integrierten Entwicklungsumgebungen gehören auch Projektmanagement-Funktionen. Viele Verfahrungsweisen beim Projektmanagement in der Programmierung sind standarisiert. IDEs können auch Programmierwerkzeuge für die Vereinheitlichte Modellierungssprache (UML - Unified Modeling Language) beinhalten. Die Modellierungssprache wird unter anderem zur Dokumentation der Software eingesetz