# data[].attributes.body
Hay numerosos y diferentes lenguajes de programación pero solo una docena tienen una cuota de uso significativa. Muchos comparten características y algunos lenguajes las van incorporando a medida que se demuestra que sus beneficios son mayores que la complejidad que pueden añadir. Veamos algunas de sus propiedades.

# data[].attributes.attachment_link.readable_text
Hay numerosos y diferentes lenguajes de programación pero solo una docena tienen una cuota de uso significativa. Muchos comparten características y algunos lenguajes las van incorporando a medida que se demuestra que sus beneficios son mayores que la complejidad que pueden añadir. Veamos algunas de sus propiedades.

Hay cantidad de lenguajes de programación, algunas diferencias entre ellos se encuentran su propósito (general o específico para cierto tipo de tareas), en la sintaxis, el sistema de tipos, por los paradigmas de programación que soporta ( POO, imperativo, funcional, ...), otras diferencias están en la librerías disponibles, frameworks o comunidad, sin embargo, la mayoría comparten algunas características por las que se pueden catalogar los lenguajes. En este artículo comentaré algunas de estas características por las que podemos catalogar y agrupar los lenguajes de programación.

Describiré brevemente cada una de las características ya que están muy bien explicadas en cada una de sus páginas de la wikipedia.

Compilado

En un lenguaje compilado el código fuente fuente antes de ser ejecutado es convertido a lenguaje máquina (C, C++) aunque también puede ser convertido a representación intermedia que posteriormente es interpretada y convertida a lenguaje máquina JIT (Java, C#). El compilador puede detectar una gran cantidad de errores que en un lenguaje interpretado o de tipado dinámico se descubrirían en tiempo de ejecución. Wikipedia.

Interpretado

En un lenguaje interpretado el código fuente es compilado a código máquina en el momento de su ejecución ( Python, Ruby, PHP, JavaScript). Wikipedia.

Orientado a objetos

Parte del éxito de los lenguajes orientado a objetos se debe a conceptos como la herencia que es una forma de reutilizar el código de la clase de la que se hereda, el polimorfismo con la que un mismo método puede estar implementado de diferente forma en función de la clase que lo implementa en la jerarquía de clases construida con la herencia, la sobrecarga usar un mismo método con diferentes parámetros y también igual o más importante la encapsulación con la que se ocultan los detalles internos del funcionamiento de la clase siendo únicamente posible manejar la clase a través de la interfaz (métodos) que ofrece.

Tipado estático

En un lenguaje de tipado estático las comprobaciones de tipos se realizan en tiempo de compilación (C, C++, Java). Los tipos pueden ser declarados de forma explícita o de forma inferida según el análisis del código fuente que realiza el compilador. Wikipedia.
Static versus Dynamic typing
Tipado dinámico

Por el contrario el tipado dinámico comprueba los tipos en el momento de ejecución del programa (PHP, Python, Groovy, JavaScript). A esos lenguajes se les conoce como lenguajes dinámicos. Wikipedia.
The Inconvenient Truth About Dynamic vs. Static Typing
Fuertemente y débilmente tipado

En un lenguaje fuertemente tipado un dato con un tipo no puede ser usado como si fuese de otro. Aunque algunos lenguajes como Java se dicen que son fuertemente tipado tienen algunas laxitudes. Por ejemplo, en Java un float puede usarse como si fuese un double y en otros lenguajes con menor grado de tipificación como PHP un string puede ser usado como un dato numérico. Wikipedia
Lenguajes fuertemente, débilmente, estáticamente y dinámicamente tipados
Otras características que se suelen mencionar al hablar de lenguajes de programación.

Inferencia de tipos

En base al análisis del código fuente se puede inferir el tipo de las variables evitando que el programador los declare explícitamente continuamente. Wkipedia.

Closures y Lambdas

Un closure es una referencia a una función que puede referenciar las variables del contexto en el que está definida. Una lambda es simplemente una referencia a una función anónima. En Java las lambdas puede referenciar variables declaradas como final, esto es, sean constantes. Wikipedia.

Defaults methods y Traits

Un trait define una colección de métodos posiblemente incluyendo también su implementación, además, pueden definir propiedades. Los defaults methods de Java pueden definir implementaciones en algunos métodos de interfaces. Wikipedia.

High Order Functions

Las funciones de orden superior son funciones que toman como argumentos una o más funciones o devuelven como resultado otra función. Wikipedia.

Currying

La currificación consiste en transformar una función con al menos dos argumentos en una función con al menos un argumento menos. Wikpedia.

Duck typing

Este concepto es usado en los lenguajes de tipado dinámico tratando a las variables no por su tipo o herencia sino en base a las propiedades y métodos que soporta (Python, PHP, Groovy, JavaScript). Wikipedia.

Intersection types y Union types

Ceylon tiene un sistema de tipos más avanzado (y complejo) que Java, una expresión es asignable a un intersection types X & Y si esa expresión es asignable a X e Y individualmente. Una expresión es asignable a un union type X | Y si es asignable a X o Y.
Union, intersection, and enumerated types
Named arguments

Cuando invocamos un método con argumentos, los argumentos se asignan a los parámetros de la función según el orden en que son declarados. Los named arguments permiten asignar los argumentos a los parámetros de la función por sus nombres. Wikipedia.

Destructuring assignment

La asignación desestructurada permite extraer datos de arrays y objetos usando una sintaxis réplica de la construcción de arrays y literales de objetos. MDN.

Tuples

Las tuplas son una estructura de datos formada por varios tipos, en Java 8 puede usarse la librería vavr que añade esto y otras funcionalidades interesantes. En algunos lenguajes puede combinarse con la asignación desestructurada. Ceylon Tuples.

# data[].attributes.attachment_link.title
Características de los lenguajes de programación

# data[].attributes.attachment_link.description
Hay cantidad de lenguajes de programación, algunas diferencias entre ellos se encuentran su propósito (general o específico para cierto tipo de tareas), en la sintaxis, el sistema de tipos, por los paradigmas de programación que soporta (POO, imperativo, funcional, ...), otras diferencias están en la librerías disponibles, frameworks o comunidad, sin embargo, la mayoría comparten algunas características por las que se pueden catalogar los lenguajes.

# data[].attributes.headline
CARACTERÍSTICAS DE UN LENGUAJE DE PROGRAMACIÓN:

# data[].attributes.subject
CARACTERÍSTICAS DE UN LENGUAJE DE PROGRAMACIÓN:

# data[].attributes.body
Similar al uso de cualquier lengua que no está limitada a los libros y a las revistas, el lenguaje de programación Basic no está estrechamente relacionado a un tipo particular de ordenador, procesador o sistema operativo. Esto puede ser un problema, ya que Basic varía ligeramente dependiendo de su aplicación (como diferentes dialectos de una lengua). Por consiguiente, en este libro no vamos a darle una descripción detallada de todas las características de Basic, sino presentar una aplicación muy concreta de Basic, lenguaje de programación utilizado en el compilador mikroBasic PRO for PIC. El Basic es un lenguaje de programación simple y fácil de entender. Para utilizarlo correctamente, basta con conocer sólo unos pocos elementos básicos en los que consiste cada programa. Estos son:

Identificadores

Comentarios

Operadores

Expresiones

Instrucciones

Constantes

Variables

Símbolos

Directivas

Etiquetas

Procedimientos y funciones

Módulos

# data[].attributes.attachment_link.keywords[]
2.2 características principales del lenguaje  de programación basic

# data[].attributes.attachment_link.description
2.2 Características Principales Del Lenguaje De Programación Basic

# data[].attributes.body
Programación Imperativa

En la programación imperativa se describen sentencias que modifican el estado de un programa. En muchos sentidos la programación imperativa es la programación natural para las CPUs que se basan en ese paradigma al nivel más básico.

En este paradigma se expresa como debe solucionarse un problema especificando una secuencia de acciones a realizar a través de uno o más procedimientos denominados subrutinas o funciones.

Dentro de esta categoría se engloban la programación estructurada que restringe el uso de la instrucción goto, la programación modular y la programación orientada a objetos. Cada una de estas extensiones o evoluciones han permitido mejorar la mantenibilidad y la calidad de los programas imperativos.

# data[].attributes.attachment_link.readable_text
Existen muchos paradigmas de programación diferentes, cada uno de ellos tiene sus propias características y tratan de solucionar los problemas clásicos del desarrollo de software desde diferentes perspectivas y filosofías. Hoy vamos a ver algunas diferencias entre paradigmas de programación populares.

Los paradigmas de programación solo son propuestas tecnológicas adoptadas por la Comunidad de desarrolladores que se enfocan a resolver uno o varios problemas definidos y delimitados. Existen muchos paradigmas de programación diferentes, posiblemente el más ampliamente utilizado hoy en día sea el de la programación orientada a objetos.

Introducción

Algunos lenguajes de programación puede soportar múltiples paradigmas de programación. Por ejemplo, C++ puede ser empleado para desarrollar software utilizando para ello un modelo de programación puramente orientado a objetos o bien puramente estructurado. En casos como el de C++, somos los programadores los que decidimos que utilizar.

Por otro lado, algunos lenguajes han sido diseñados para soportar un único paradigma de programación, ese es el caso de Smalltalk que soporta únicamente la programación orientada a objetos o Haskell que solo soporta la programación funcional.

Algunos paradigmas prohiben el uso de ciertos mecanismos o técnicas. Por ejemplo, en la programación funcional se elimina el uso del efecto secundario en las funciones mientras que en la programación estructurada se desaprueba o incluso elimina el uso de la sentencia goto.

Es realmente común el diseño de lenguajes que soporten múltiples paradigmas de programación. Estos lenguajes son aquellos que soportan al menos dos paradigmas. Dentro de esta categoría podemos encontrar nuevas caras y viejos conocidos:

Scala: Imperativo, orientado a objetos, funcional, genérico y concurrente

Erlang: Funcional, concurrente y distribuido

Perl: Imperativo, orientado a objetos y funcional

PHP: Imperativo, orientado a objetos, funcional y reflexivo

JavaScript: Imperativo, orientado a objetos (prototipos) y funcional

Java: Imperativo, orientado a objetos, reflexivo y genérico

Python y Ruby: Imperativo, orientado a objetos, reflexivo y funcional

C++: Imperativo, orientado a objetos, funcional y genérico

C#: Imperativo, orientado a objetos, funcional (lambda), reflexivo y genérico

Estos son algunos ejemplos, existen lenguajes como Oz que soporta nueve paradigmas de programación, para algunos es un acierto y para otros un error. En cualquier caso en este artículo no vamos a argumentar si soportar uno, dos, seis o diez paradigmas es un acierto o no, eso lo dejamos a decisión de cada cual.

Programación Imperativa

En la programación imperativa se describen sentencias que modifican el estado de un programa. En muchos sentidos la programación imperativa es la programación natural para las CPUs que se basan en ese paradigma al nivel más básico.

En este paradigma se expresa como debe solucionarse un problema especificando una secuencia de acciones a realizar a través de uno o más procedimientos denominados subrutinas o funciones.

Dentro de esta categoría se engloban la programación estructurada que restringe el uso de la instrucción goto, la programación modular y la programación orientada a objetos. Cada una de estas extensiones o evoluciones han permitido mejorar la mantenibilidad y la calidad de los programas imperativos.

Programación Declarativa

A la programación imperativa se le contrapone la programación declarativa en la que se describe la lógica de computación necesaria para resolver un problema sin describir un flujo de control de ningún tipo. Efectivamente, en la programación declarativa no es necesario definir algoritmos puesto que se detalla la solución del problema en lugar de como llegar a esa solución.

En la programación declarativa, la solución es alcanzada a través de mecanismos internos de control pero no se especifica exactamente como llegar a ella. Las variables son utilizadas con transparencia referencial, es decir una expresión puede ser sustituida por el resultado de ser evaluada en el programa sin alterarlo semánticamente.

Dentro de esta categoría se engloban la programación funcional cuyo lenguaje más expresivo y culmen sea seguramente el lenguaje Haskell, la programación lógica donde sin duda el campeón es Prolog (ampliamente usado en ambientes académicos) y la programación restringida o con restricciones entre otras.

En los lenguajes funcionales puros como Haskell, todas las funciones son puras, es decir, no tienen efectos secundarios, y los cambios de estado están solo representados como funciones que transforman el estado. Aunque no son imperativos, por norma general proporcionan algún mecanismo por el que describir el efecto de una función como una serie de pasos.

Diferencias principales

La principal diferencia entre ambos paradigmas es que en la programación imperativa se describe paso a paso un conjunto de instrucciones que han de ejecutarse con la finalidad de variar el estado del programa y resolver un problema para hallar una solución. Es decir, se describe un algoritmo en el que se detallan los pasos secuenciales necesarios a seguir para la resolución de un problema.

Y en la programación declarativa solo se describe el problema pero no los pasos necesarios para llegar a su solución, la cual es hallada mediante mecanismos internos de inferencia de información a partir de la descripción del problema en si.

La programación imperativa se basa en la máquina de Turing mientras que la programación declarativa se basa en el cálculo lambda.

¿Cómo diferenciar una de la otra?

Podemos diferenciarlas sin temor a equivocarnos en los siguientes supuestos:

Un programa que describe que problemas deben resolverse pero no como, está programado con programación declarativa

Cualquier programa que evita los efectos secundarios o es referencialmente transparente, está programado con programación declarativa

Todo lo que no cuadre con las dos afirmaciones anteriores usa programación imperativa o una mezcla de ambas

¿Y qué hay de la programación orientada a objetos?

Bueno, como ya he dicho anteriormente, la programación orientada a objetos es una forma de programación imperativa puesto que al programar orientando a objetos se describe la secuencia que debe seguir el programa para resolver un problema dado.

La diferencia con otras formas de programación imperativas como la programación estructurada es que en la orientación a objetos se hace uso de estructuras de datos llamadas objetos que aglutinan propiedades y métodos conjuntamente con sus interacciones.

Un objeto es una estructura abstracta que describe con la mayor fiabilidad posible un objeto del mundo real y como se relaciona o interactúa con el resto del mundo que lo rodea a través de interfaces. La programación orientada a objetos se basa también en conceptos como la abstracción de datos, la encapsulación, los eventos, la modularidad, la herencia y el polimorfismo.

Conclusión

Aunque la diferencia entre la programación estructurada y la programación orientada a objetos es grande, realmente la mayor diferencia se encuentra en las ramas superiores. Las diferencias entre programación imperativa y programación declarativa es mucho más severa y compleja que las diferencias entre diferentes sub-paradigmas dentro de la programación imperativa.

Sobre lo que nos depara el futuro, no estoy seguro, ni siquiera tengo una opinión propia bien formada al respecto, pero es aconsejable no perder la pista de lenguajes como Haskell e intentar comprender el paradigma de la programación declarativa para crecer como profesionales del desarrollo de software y sobre todo mantener una postura abierta y alejar los talibanismos y la polémica estéril.

# data[].attributes.attachment_link.title
Diferencias entre paradigmas de programación

# data[].attributes.attachment_link.description
Existen muchos paradigmas de programación diferentes, cada uno de ellos tiene sus propias características y tratan de solucionar los problemas clásicos del desarrollo de software desde diferentes perspectivas y filosofías. Hoy vamos a ver algunas diferencias entre paradigmas de programación populares.

# data[].attributes.body
¿Cuáles son los principales paradigmas de programación?

Imperativo. Los programas se componen de un conjunto de sentencias que cambian su estado. Son secuencias de comandos que ordenan acciones a la computadora.

Declarativo. Opuesto al imperativo. Los programas describen los resultados esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos.

Lógico. El problema se modela con enunciados de lógica de primer orden.

Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida.

Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que representan elementos del problema a resolver y tienen atributos y comportamiento.

Otros son de aparición relativamente reciente y no forman parte del grupo principal:

Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una acción del usuario).

Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un comportamiento bien definido.

# data[].attributes.attachment_link.provider_name
4R Soluciones | Diseño, Desarrollo y Programación Web & Mobile

# data[].attributes.attachment_link.readable_text
A lo largo de la historia, el término "paradigma" fue objeto de muchas interpretaciones. En su origen griego, significaba "modelo", "ejemplo" o "patrón". Sobre este punto de partida, podemos hablar de un paradigma como un conjunto de creencias, prácticas y conocimientos que guían el desarrollo de una disciplina durante un período de tiempo. En diversas ramas de la ciencia, un conjunto de ideas en vigencia puede ser reemplazado drásticamente por otro que entre en conflicto con él y se demuestre más acertado. La programación tiene sus propios paradigmas, pero el término "paradigma de programación" no necesariamente representa un modelo único que deba ser respetado hasta que aparezca otro mejor. De hecho, actualmente muchos paradigmas coexisten en armonía.

Un paradigma de programación es un estilo de desarrollo de programas. Es decir, un modelo para resolver problemas computacionales. Los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con su sintaxis.

¿Cuáles son los principales paradigmas de programación?

Imperativo. Los programas se componen de un conjunto de sentencias que cambian su estado. Son secuencias de comandos que ordenan acciones a la computadora.

Declarativo. Opuesto al imperativo. Los programas describen los resultados esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos.

Lógico. El problema se modela con enunciados de lógica de primer orden.

Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida.

Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que representan elementos del problema a resolver y tienen atributos y comportamiento.

Otros son de aparición relativamente reciente y no forman parte del grupo principal:

Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una acción del usuario).

Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un comportamiento bien definido.

Cada paradigma es ideal para la resolución de un conjunto de problemas particular, por lo que no puede decirse que uno sea necesariamente mejor que otro.

# data[].attributes.attachment_link.title
¿Qué son los paradigmas de programación? | 4R Soluciones | Diseño, Desarrollo y Programación Web & Mobile

# data[].attributes.attachment_link.description
A lo largo de la historia, el término "paradigma" fue objeto de muchas interpretaciones. En su origen griego, significaba "modelo", "ejemplo" o "patrón". Sobre este punto de partida, podemos hablar de un paradigma como un conjunto de creencias, prácticas y conocimientos que guían el desarrollo de una disciplina durante un período de tiempo.

# data[].attributes.body
Lenguaje de programación es aquella estructura que, con una cierta base sintáctica y semántica, imparte distintas instrucciones a un programa de computadora.

# data[].attributes.attachment_link.readable_text
Según la definición teórica, como lenguaje se entiende a un sistema de comunicación que posee una determinada estructura, contenido y uso. La programación es, en el vocabulario propio de la informática, el procedimiento de escritura del código fuente de un software. De esta manera, puede decirse que la programación le indica al programa informático qué acción tiene que llevar a cabo y cuál es el modo de concretarla.

Con estas nociones en claro, podemos afirmar que un lenguaje de programación es aquella estructura que, con una cierta base sintáctica y semántica, imparte distintas instrucciones a un programa de computadora.

A la hora de establecer el origen del lenguaje de programación tenemos que hacer referencia, sin lugar a dudas, a Ada Lovelace que está considerada como la primera programadora de computadoras conocida en todo el mundo. De ahí, curiosamente que se hablara en su honor del lenguaje de programación Ada. Y es que dicha figura llevó a cabo no sólo la manipulación de una serie de símbolos para una máquina del científico británico Charles Babbage sino también la consecución del establecimiento de las instrucciones necesarias para que un computador pudiera realizar una serie de cálculos iniciales.

Dentro de lo que es el lenguaje de programación es muy importante subrayar que los profesionales que se dedican a desarrollar este trabajan con un conjunto de elementos que son los que dan forma y sentido al mismo, los que permiten que aquellos funcionen y logren sus objetivos. Entre los mismos se encontrarían, por ejemplo, las variables, los vectores, los bucles, los condicionantes, la sintaxis o la semántica estática.

Las secuencias de programación para las acciones más usuales fueron asociadas para ser denominadas con nombres fáciles de memorizar (como ADD o MUL). Al conjunto de instrucciones se lo denomina lenguaje ensamblador.

Cabe diferenciar entre el lenguaje de programación y el lenguaje informático. Existen lenguajes informáticos que no son, en realidad, lenguajes de programación, como es el caso del HTML (un lenguaje de marcas).

El lenguaje de programación tiene la capacidad de especificar, de forma precisa, cuáles son los datos que debe trabajar un equipo informático, de qué modo deben ser conservados o transferidos dichos datos y qué instrucciones debe poner en marcha la computadora ante ciertas circunstancias.

Existen diversos lenguajes de programación, lo que ha llevado al desarrollo de intérpretes (programas que adaptan las instrucciones encontradas en otro lenguaje) y compiladores (aquellos programas que traducen de un lenguaje a otro).

De acuerdo a su nivel de abstracción, se habla de lenguaje de máquina (son las cadenas binarias que pueden ser legibles de manera directa por la computadora), lenguaje de bajo nivel (el lenguaje de programación que se acerca al funcionamiento de una computadora), lenguaje de medio nivel (comparte características con los lenguajes de bajo nivel pero también con los más avanzados) o lenguaje de alto nivel (formado por elementos del lenguaje humano).

Muchos son los lenguajes que existen actualmente en el mercado de la tecnología y la informática. No obstante, entre los más importantes podemos citar a Pascal, Visual Basic, SQL, Delphi, Lingo, Cobol, HTML o Java. Este último, por ejemplo, se caracteriza porque fue desarrollado en el año 1995 por el científico de la computación James Gosling y porque está orientado a objetos.

Mientras, el citado lenguaje HTML podemos establecer que es uno de los más importantes de la actualidad ya que es el que se utiliza para elaborar páginas web.

# data[].attributes.attachment_link.title
Definición de lenguaje de programación - Definicion.de

# data[].attributes.attachment_link.description
Según la definición teórica, como lenguaje se entiende a un sistema de comunicación que posee una determinada estructura, contenido y uso. La programación es, en el vocabulario propio de la informática , el procedimiento de escritura del código fuente de un software .

# data[].attributes.body
Un paradigma de programación es un estilo de desarrollo de programas. Es decir, un modelo para resolver problemas computacionales. Los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con su sintaxis.

# data[].attributes.attachment_link.provider_name
4R Soluciones | Diseño, Desarrollo y Programación Web & Mobile

# data[].attributes.attachment_link.readable_text
A lo largo de la historia, el término "paradigma" fue objeto de muchas interpretaciones. En su origen griego, significaba "modelo", "ejemplo" o "patrón". Sobre este punto de partida, podemos hablar de un paradigma como un conjunto de creencias, prácticas y conocimientos que guían el desarrollo de una disciplina durante un período de tiempo. En diversas ramas de la ciencia, un conjunto de ideas en vigencia puede ser reemplazado drásticamente por otro que entre en conflicto con él y se demuestre más acertado. La programación tiene sus propios paradigmas, pero el término "paradigma de programación" no necesariamente representa un modelo único que deba ser respetado hasta que aparezca otro mejor. De hecho, actualmente muchos paradigmas coexisten en armonía.

Un paradigma de programación es un estilo de desarrollo de programas. Es decir, un modelo para resolver problemas computacionales. Los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con su sintaxis.

¿Cuáles son los principales paradigmas de programación?

Imperativo. Los programas se componen de un conjunto de sentencias que cambian su estado. Son secuencias de comandos que ordenan acciones a la computadora.

Declarativo. Opuesto al imperativo. Los programas describen los resultados esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos.

Lógico. El problema se modela con enunciados de lógica de primer orden.

Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida.

Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que representan elementos del problema a resolver y tienen atributos y comportamiento.

Otros son de aparición relativamente reciente y no forman parte del grupo principal:

Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una acción del usuario).

Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un comportamiento bien definido.

Cada paradigma es ideal para la resolución de un conjunto de problemas particular, por lo que no puede decirse que uno sea necesariamente mejor que otro.

# data[].attributes.attachment_link.title
¿Qué son los paradigmas de programación? | 4R Soluciones | Diseño, Desarrollo y Programación Web & Mobile

# data[].attributes.attachment_link.description
A lo largo de la historia, el término "paradigma" fue objeto de muchas interpretaciones. En su origen griego, significaba "modelo", "ejemplo" o "patrón". Sobre este punto de partida, podemos hablar de un paradigma como un conjunto de creencias, prácticas y conocimientos que guían el desarrollo de una disciplina durante un período de tiempo.