Dado que la definición de programación de computadoras es tan amplia y el uso de programas tan generalizado, en realidad existen muchos tipos de programación de computadoras, a menudo definidas de formas marcadamente diferentes. Los tipos más básicos de programación de computadoras pueden desglosarse por el lenguaje de programación, como C, Lisp o Java®, utilizado por el programador. En otros contextos, puede que solo haya dos tipos de programación de computadoras: sistema y aplicación. Se hacen algunas distinciones entre programación de red, programación basada en web y programación de escritorio. A veces, los diferentes tipos de programación pueden estar separados por la plataforma de destino, como la programación de sistemas integrados, la programación de sistemas en tiempo real (RTS) o la programación de bases de datos.
Los diferentes tipos de programación de computadoras a menudo se definen por el lenguaje utilizado para escribir software. Hay muchos lenguajes disponibles, pero en general se clasifican en lenguajes estructurados como C o lenguajes orientados a objetos como Java®, y ambos son comúnmente utilizados por profesionales para diferentes tareas. Los lenguajes también pueden ser imperativos, como los mencionados anteriormente, o funcionales, como Lisp, en los que los programas constan de una serie de funciones en lugar de comandos. Parte de la programación informática se realiza exclusivamente con lenguajes de secuencias de comandos, que son documentos interpretados por humanos que realizan operaciones dentro de otro marco.
Tradicionalmente ha existido una distinción entre dos amplios tipos de programación informática. La primera es la programación de aplicaciones e implica la escritura de programas que pueden usarse directamente para alguna función. Alternativamente, está la programación de sistemas, que busca diseñar programas para la gestión de hardware o frameworks en los que se puedan ejecutar aplicaciones, como los sistemas operativos.
A medida que la tecnología de redes y comunicaciones remotas se hizo más ampliamente utilizada, ciertos tipos de programación comenzaron a distinguirse de los otros campos de la programación de computadoras. La programación de la red se considera diferente debido al conocimiento requerido de los protocolos de red y las interfaces de hardware. La programación de aplicaciones o servidores basados en la web requiere un conocimiento específico de las restricciones de seguridad, los protocolos de Internet y los patrones de diseño de programación únicos.
También existen tipos de programación informática que son específicos de un determinado campo o hardware de destino. La programación de bases de datos implica el uso de lenguajes de consulta especiales, scripts y otros elementos para interactuar con infraestructuras de bases de datos específicas. La programación de juegos implica el conocimiento de hardware gráfico, algoritmos gráficos y, a veces, técnicas especiales de optimización. Los sistemas integrados, como los dispositivos portátiles o las consolas, pueden involucrar especificaciones de hardware únicas y conocimiento de las bibliotecas de los proveedores. La programación de sistemas en tiempo real más avanzada puede implicar la escritura de software de control a prueba de fallas para plantas de energía nuclear o hardware militar.