En cada fase del desarrollo de un nuevo programa intervienen diferentes tipos de software de programación informática. Los compiladores realizan el trabajo esencial de traducir los lenguajes de programación humanos a un lenguaje de máquina que pueda ser procesado por una computadora. Se puede usar otro software para ayudar a depurar y monitorear la eficiencia de un programa en la realización de tareas específicas y el uso de recursos del sistema. Los entornos de desarrollo integrados combinan varias de estas variedades de software de programación informática en un solo producto cohesivo.
La variedad más básica de software de programación de computadoras es el compilador. Los programadores escriben código en un lenguaje de programación, como C ++, Python o Basic. Este código normalmente se puede escribir con cualquier tipo de editor de texto, aunque los editores dedicados que proporcionan codificación de colores y verifican errores técnicos son muy útiles. Una vez que se ha escrito este código fuente, se utiliza un compilador para traducirlo a un lenguaje que pueda ser ejecutado directamente por una computadora. En algunos casos, un descompilador se puede utilizar más tarde para traducir un programa a código fuente legible por humanos.
Los depuradores son un tipo de software de programación de computadoras útil y común. Un depurador permite a un programador probar y monitorear su código. La mayoría permite que el código fuente se compile y ejecute parcialmente. Esto permite al depurador monitorear los valores de las variables, verificar los objetivos de los punteros y mostrarle al programador con precisión qué instrucciones se están ejecutando en un momento dado. Esta capacidad de recorrer el código línea por línea hace que rastrear pequeños errores sea mucho más fácil.
Los programadores también confían en aplicaciones que controlan la precisión de su trabajo. Algunos programas ejecutan diferentes valores a través de un programa para asegurarse de que genera las respuestas correctas, especialmente en casos inusuales o marginales. Esto es especialmente útil para determinar qué sucede cuando un usuario proporciona una entrada con un formato incorrecto o una entrada que se encuentra fuera de los rangos de valores esperados.
Todos los programas hacen uso de los recursos del sistema y existe algún software de programación de computadoras para rastrear la eficiencia con la que se usan esos recursos. Estos programas permiten el examen detallado de la gestión de la memoria, el acceso al disco y el uso de la red, entre otras cosas. Estas herramientas son particularmente útiles para los programadores que diseñan aplicaciones para que funcionen en dispositivos móviles donde los recursos pueden ser especialmente escasos.
Los entornos de desarrollo integrados son herramientas muy poderosas y populares. Este tipo de software de programación de computadoras combina versiones especialmente diseñadas de varias herramientas de programación diferentes. Un ejemplo típico podría incluir un editor para escribir código fuente, un compilador, un depurador, algunas herramientas para la gestión de la memoria y un programa para generar automáticamente un borrador de documentación que explique el funcionamiento del software.