El paradigma representa un enfoque particular o filosofía para la construcción de software. Cada uno tendrá sus ventajas e inconvenientes, será más o menos apropiado, pero no es correcto decir que exista uno mejor que los demás. Algunos de ellos son:
- Programación Declarativa: Se basa en el desarrollo de algoritmos aplicando una especificación de un conjunto de condiciones, proposiciones, afirmaciones y restricciones que describen el problema. Las sentencias utilizadas describen el problema que se quiere solucionar, pero no la instrucciones necesarias para llegar a la solución. El lenguaje SQL está basado en este paradigma. Dentro de este paradigma se encuentran la programación funcional y la programación lógica.
- Programación Imperativa: Se basa en el desarrollo de algoritmos detallando de forma clara y específica los comandos a ejecutar para, a través del paso por diferentes estados, llegar a la solución. Se basa en el uso de variables, tipos de datos, expresiones y estructuras de control del flujo de ejecución. Lenguajes como Python, Java, C++, C# ... son lenguajes imperativos. Dentro de este paradigma se encuentran la programación convencional (programación no estructurada), la programación estructurada, la programación orientada a objetos, la programación orientada a eventos, la programación orientada a aspectos ...
Existen múltiples paradigmas, incluso puede haber lenguajes de programación que no se clasifiquen únicamente dentro de uno de ellos. Un lenguaje como Smalltalk es un lenguaje basado en el paradigma orientado a objetos. El lenguaje de programación Scheme, en cambio, soporta sólo programación funcional. Python, soporta múltiples paradigmas.
Lenguaje de programación que permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales. Metafóricamente, se puede considerar que Smalltalk es un mundo virtual donde viven objetos que se comunican mediante el envío de mensajes.
Lenguaje de programación funcional, dialecto de Lisp. Desarrollado en la década de los setenta. Scheme proporciona el mínimo número posible de nociones primitivas, construyendo todo lo demás a partir de un reducido número de abstracciones. Scheme ofrece también gestión automática de memoria. Las listas son la estructura de datos básica del lenguaje, que también ofrece arrays entre sus tipos predefinidos.
Lenguaje de programación de alto nivel, cuya filosofía hace hincapié en una sintaxis limpia y que favorezca un código legible. Es multiparadigma, ya que soporta orientación a objetos, programación imperativa y programación funcional. Es un lenguaje interpretado y está fuertemente tipado. Es multiplataforma.