¿Qué son los paradigmas de programación?

Las formas o estilos de programar también tienen nombre y se conocen como paradigmas de la programación. En este artículo definiremos qué es un paradigma en programación, cuáles son los paradigmas y conoceremos un poco más a detalle cada uno de ellos.

¿Qué es un paradigma?

"Se define como un modelo o patrón de trabajo que resume un sistema o pensamiento, por el cual está compuesto de conceptos básicos, reglas, procedimientos, etc".

Un paradigma puede ser como un mapa. Si quieres llegar de un punto "A" a un punto "B", tendrás diferentes caminos, unos pueden ser más cercanos o más lejanos.

Definición de paradigma en programación

“Un paradigma de programación indica un método de realizar cómputos y la forma en que se deben estructurar y organizar las tareas que debe llevar a cabo un programa ”.

En el mundo de la programación, los paradigmas son modelos o estilos documentados para programar, cada uno es diferente, con un conjunto de ideas que describe una forma de entender la construcción de un programa.

Un problema o proyecto puede ser resuelto con varios paradigmas, solo va a variar en procedimiento, porque cada uno tiene sus instrucciones a seguir. La selección dependerá de cual sea más apropiado según decida el programador.

Existen lenguajes que adoptan un paradigma en específico, pero también hay los que se adaptan a más de un paradigma como es el caso de JavaScript, Python y Java. Cabe acotar, que no es necesario ceñirse a un solo paradigma de programación y hacerlo en todo el código.

Paradigmas de programación

Los paradigmas de programación se pueden clasificar en dos grandes grupos: programación imperativa y programación declarativa.

Programación Imperativa

Es considerado el paradigma clásico, porque consiste en ir detallando las instrucciones o sentencias de cómo resolver un problema paso por paso, caracterizándose por el uso de variables, comandos y procedimientos. Es describir en el código cómo se va hacer el programa.

Existen 3 subordinados al paradigma de programación imperativa para escribir y estructurar código:

  • Programación Estructurada
  • Programación Modular
  • Programación Orientada a Objetos

Programación estructurada

Es un tipo de forma simplificada de programación imperativa, que consiste en programar de arriba hacia abajo o de forma secuencial. Es escribir el código paso por paso cada una de las instrucciones, es decir, primero declaramos variables, luego funciones, condicionales y bucles.

Sin embargo, este estilo de programación tiene sus límites, porque cuando una aplicación es muy compleja, serían miles de líneas de código, si se presentara algún error o algo no funciona, ¿cómo sabríamos en cuál línea buscar? Existen otros paradigmas que la programación sea más organizada.

Programación modular

La programación modular es muy parecida a funcionaL y la orientada a objetos, en este caso se divide el programa en bloques llamados módulos, que son lógicos y funcionales. Este módulo contiene sentencias que resuelven un problema específico y cada módulo posee su propia función, estos pueden ser editados o modificados conforme se vaya realizando el proyecto.

Programación orientada a objetos

En este modelo de programación, tenemos elementos que denominamos objetos, que poseen características y funciones. Lo importante es que nos permite crear varios objetos y conectarlos entre ellos para crear una aplicación y si algo llegase a fallar, sabríamos cuál de los objetos nos está generando problemas y solucionarlo. Además, podemos agregar un nuevo objeto o datos y funciones a los objetos que ya existentes.

Por ejemplo, un usuario en Codealo tiene su nombre, apellido, edad, el id del usuario, entre otros detalles y adicional cada usuario tiene unas funciones, como iniciar sesión, comentar, dar like, subir una foto, adquirir un curso, etc.

En la programación orientada a objetos se toman en cuenta diferentes conceptos como:

  • Abstracción de datos
  • Encapsulación
  • Eventos
  • Modularidad
  • Herencia
  • Polimorfismo

Los lenguajes más conocidos en la actualidad que están orientados a objetos, son Java, C# o Python.

Programación Declarativa

En cuanto a la programación declarativa, no es necesario definir algoritmos, solo le indicas al sistema el problema y automáticamente determina la vía de solución. Este tipo de paradigma se centra en, ¿cuál es el problema o cuál debería ser el resultado?

Un lenguaje de programación que se adapta a este paradigma es el SQL.

Los 3 sub-paradigmas o subordinados al paradigma de programación declarativa son:

  • Programación Funcional
  • Programación Lógica
  • Programación Reactiva

Programación funcional

La programación funcional es muy parecida a la programación orientada a objetos, la diferencia es que el sistema se divide en varias partes o módulos, cada parte es una función que realiza una sola acción, como solicitar un dato, obtener un resultado, dividir números, y otros.

Por ejemplo, si el usuario quiere entrar a su cuenta bancaria e inicia sesión con usuario y contraseña, existe una función que buscará validar si los datos ingresados son correctos, se envía esa función, luego otra función devuelve un valor y este mismo valor es devuelto a otra función que evalúa si se le va a mostrar que ha iniciado sesión con éxito.

Programación lógica

Consiste en la creación de programas que se fundamenta en la lógica de primer orden, te específica qué se debe hacer con el programa, pero no el cómo hacerlo. Este tipo de paradigma se emplea en aplicaciones de inteligencia artificial y el lenguaje utilizado es el PROLOG.

Programación reactiva

Este paradigma consiste en observar o escuchar los cambios en el flujo de datos, donde los objetos reaccionan a los valores que reciben de esos cambios.

Un claro ejemplo, es cuando entramos a Netflix, que de acuerdo a tu velocidad de internet te asigna una calidad de video sin frenar la transmisión, mientras más velocidad mejor calidad será la del video.

Accede a Codealo, dónde tenemos disponible el curso de Fundamentos de Programación en JavaScript, el cual es un lenguaje multiparadigma, es decir, se adapta a más de un paradigma de programación.

Fuente:

Paradigma; Concepto.de

Paradigmas de programación: principios básicos de programación; Ionos.es

Miriam Martínez Canelo (09 de junio del 2020); ¿Qué son los paradigmas de programación?; Profile.es

Deivis Rivera; ¿Qué son los paradigmas de programación?; Ed.team

Charles Stuber (24 de marzo del 2021); ¿Qué es un paradigma de programación?; TecnologiaAndroid.com