¿Qué es un paradigma de programación? Los paradigmas de programación son un conjunto de requisitos y principios interrelacionados que se utilizan en el desarrollo de software. Influyen en el estilo de un programa, pero no en el lenguaje de programación que se elija.

De los paradigmas dependen todas las etapas de la programación: plantillas, propiedades, patrones, estructura, arquitectura del programa o aplicación móvil.

Existen dos tipos de paradigma de programación: paradigma de programación imperativa y declarativa. No son una lista estática, sino opciones para resolver problemas específicos.

¿Qué no se considera un paradigma de programación?

Lo siguiente no se considera parte de un paradigma de programación:

  • Lenguajes de programación: Un lenguaje (como Python, Java, C++) puede soportar diferentes paradigmas.
  • Entornos de desarrollo integrado (IDE): Herramientas como Visual Studio, IntelliJ IDEA o PyCharm se usan para programar, pero no definen el enfoque de desarrollo.
  • Tecnologías y frameworks específicos: React, Django, Spring son herramientas para trabajar con paradigmas específicos, pero no son paradigmas en sí mismos.
  • Algoritmos y estructuras de datos: Son importantes, pero son métodos para resolver problemas, no un enfoque de programación general.
  • Metodologías de desarrollo de software: Agile, Scrum, Waterfall son procesos para organizar el trabajo, no principios para escribir código.
  • Sistemas operativos: Windows, Linux, macOS son plataformas donde funcionan los programas, pero no definen el paradigma de programación.
  • Protocolos y estándares: HTTP, TCP/IP, REST, SOAP son reglas y convenciones sobre cómo interactúan los sistemas, no sobre cómo escribir código.
  • Patrones arquitectónicos: MVC, MVVM, Microservices, Layered Architecture son formas de organizar el código, utilizadas en diferentes paradigmas.
  • Bases de datos y su organización: Bases de datos relacionales (MySQL, PostgreSQL) o NoSQL (MongoDB, Redis) se relacionan con el procesamiento de datos, pero no dictan el estilo de programación.
  • Herramientas DevOps y CI/CD: Docker, Kubernetes, Jenkins, GitHub Actions ayudan a automatizar la implementación y las pruebas, pero no influyen en el concepto del código.

¿Qué es un paradigma de programación?

Este término se refiere a un conjunto de reglas, métodos y principios específicos que deben aplicarse en el desarrollo de software.

Ilustración digital abstracta que representa qué es un paradigma de programación, con un cerebro, un chip brillante y elementos de código, simbolizando la lógica computacional.
Una representación visual de qué es un paradigma de programación. Descubre los cimientos del pensamiento computacional.

Un paradigma de programación es un estilo o concepto para escribir código. Por ejemplo:

  • Programación imperativa: (Procedural, estructurada)
  • Programación declarativa: (Funcional, lógica)
  • Programación orientada a objetos (POO)
  • Programación funcional
  • Programación lógica

Un paradigma define cómo piensa el programador al resolver problemas, no las herramientas que utiliza.

Programación imperativa

La principal diferencia de este tipo es la ejecución secuencial de tareas. La mayor parte de los lenguajes están diseñados específicamente para esto.

Anteriormente, los lenguajes procedimentales eran populares y solicitados por los desarrolladores de software. La POO ahora está extendida.

Programación procedimental

Este tipo se utiliza en lenguajes C, Pascal, COBOL, ALGOL, BASIC, Fortran, etc.

El concepto básico es una función o procedimiento en forma de acciones escritas y nombradas secuencialmente. Por ejemplo, cuando compras un constructor “Lego”, debes ensamblarlo. El esquema de montaje, que se incluye, es una función.

A pesar de que los conceptos “procedimiento” y “función” son sinónimos, la programación funcional y procedimental son cosas diferentes. La funcional se basa en el paradigma declarativo, y la procedimental en el imperativo.

Cuando llevamos un coche a reparar, por ejemplo, para reconstruir el motor, no nos interesa qué procesos realiza el mecánico. La tarea principal es obtener el resultado. Del mismo modo, con la llamada a una función. Solo necesita saber el nombre del procedimiento y la técnica para usarlo.

Programación orientada a objetos

Este subtipo se utiliza en lenguajes Java, Python, C++, Ruby, C#, Objective-C, PHP y similares.

Este tipo es el más común y multifuncional. Hay objetos aquí que realizan de forma independiente las funciones asignadas y configuran las conexiones entre ellos.

Todo esto es necesario para realizar operaciones heterogéneas y dividirlas entre los empleados. Y también es más fácil implementar y probar software en modo automático.

Programación declarativa

En contraste con el estilo imperativo, también se desarrolló el declarativo. Recopilaron las mejores prácticas, que con el tiempo se convirtieron en paradigmas.

Programación lógica

Aquí estamos hablando más de matemáticas que de programación. La base es el uso de pruebas matemáticas y las leyes de la lógica. Todo esto ayuda a resolver los problemas comerciales planteados.

Para usar con éxito este tipo de programación, es importante poder traducir cualquier tarea al lenguaje de las matemáticas.

El modelado de procesos es un área donde la programación lógica es más popular.

Programación funcional

Este tipo es cercano al concepto de función en matemáticas, especialmente la parte que se refiere a la sección sobre la transformación de datos.

El principal matiz es que la función debe ser pura, sin efectos secundarios ni variables del entorno externo. Cuando una función cambia una variable global o llama al método de un objeto externo, también cambia el entorno externo. Aquí está el efecto secundario.

Ejemplos de uso de paradigmas de programación

  • Procedimental: para escribir código para un microchip.

Puede ser un procesador específico con el que se desarrolla un compilador de un lenguaje orientado a objetos complejo. Pero debe recordarse que las capacidades técnicas del chip pueden ser insuficientes para que los programas funcionen normalmente en los lenguajes modernos.

  • Orientada a objetos.

Hay muchas aplicaciones para computadoras y teléfonos inteligentes, servicios de Internet populares, televisores “inteligentes” y enrutadores que están escritos en un lenguaje orientado a objetos.

  • Declarativa: para describir el aspecto de los sitios.

Aquí escriben en el lenguaje CSS. A través de él, especifican la fuente del texto, el color de fondo, el tamaño de la imagen.

  • Funcional: para criptomonedas y blockchain.

En estas áreas, lo principal es la confiabilidad. Son nuevos, por lo que están abiertos a la experimentación. Otros lenguajes borran la línea entre las matemáticas y la programación: por lo que resultará programar pruebas matemáticas.

Casi todos los paradigmas se utilizan para programas industriales de propósito general, como diferentes editores de texto y gráficos, hojas de cálculo, aplicaciones, etc.

Pero hay aquellos que se utilizan en lenguajes para tareas específicas. Por ejemplo, los desarrolladores toman el paradigma lógico para resolver ecuaciones matemáticas, y el lenguaje Prolog resuelve el sudoku.

Comparación de paradigmas de programación

Imaginemos que hay una matriz de los siguientes números:

412, 5, 625, 243, 2, 14, 30, 79, 4, 634, 367, 8, 34, 798, 159

En la programación declarativa, el desarrollador escribe:

Obtener de la matriz N todos los números que son mayores que 5 y menores que 500

En este caso, el desarrollador solo necesita el resultado final, y no el proceso de ejecución de la tarea.

Si eliges la versión imperativa de la programación, tendrás que escribir el código tú mismo, que verifica todos los números de la matriz N para cumplir con la condición. El código debe ser capaz de escribirlos en una nueva matriz.

Crear una matriz N con números …;

declarar una variable i con un valor de 0;

Comienzo del ciclo:

Si el valor del elemento número i es mayor que 5 y menor que 500, entonces agregarlo a la matriz N2;

Agregue uno a la variable i;

Repita hasta que el valor de la variable i sea menor que el número de elementos de la matriz N;

Final del ciclo;

Devolver la matriz N2;

Es decir, en la programación declarativa, el desarrollador dice lo que necesita. Y en el imperativo, cómo se puede obtener.

Si es más fácil escribir código en un lenguaje declarativo, ¿por qué se elige la programación imperativa? Hay tres razones:

  • La programación declarativa no funciona sin la imperativa.
  • Es imposible trabajar con tareas en un lenguaje declarativo, para cuya solución se necesita acceso al estado del programa.
  • La programación imperativa tiene menos restricciones.

Lo Esencial: qué es un paradigma de programación

  • Un paradigma es un conjunto de requisitos y principios interrelacionados que se utilizan en el proceso de desarrollo de software para PC.
  • De los paradigmas dependen todas las etapas de la programación: plantillas, propiedades, patrones, estructura, arquitectura del programa o aplicación móvil.
  • Hay programación imperativa y declarativa. La imperativa incluye la programación procedural y orientada a objetos. La declarativa incluye la lógica y la funcional.

Categorizado en:

Fundamentos Programación,