Programación Estructurada: Es un método de construcción y diseño de programar en el que participan características como la modificación y la facilidad en uso.
Se basa en 3 técnicas básicas
Diseño descendente: consiste en dividir el problema y hacer la segmentación por pasos, en diferentes niveles.
Recursos abstractos: consiste en el proceso de realización de los diferentes pasos hasta encontrar la solución del problema.
Estructura básica de control: consiste en que el programa cuenta con un único punto de entrada y diferentes de salida.
Programación Funcional: Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.
Programación Lógica: Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).
Programación Modular: Consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.
Programación Orientada a Objetos (POO): Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
Programación Concurrente: Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez, para controlar los accesos de usuarios y programas a un recurso de forma simultánea. Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.