# data[].attributes.body
>Programación lineal: Es sencilla y directa, el problema con esta es que tiene muchas limitaciones, una de ellas es que utiliza sentencias de control primitivas como el Go to para transferir el control a un punto determinado del código y continuar con su ejecución, que cuando se llega a abusar de esta resulta en un código espagueti muy difícil de comprender.

>Programación modular: Se implementan otras técnicas tales como los condicionales y bucles, haciendo el código mas comprensible, sin embargo, cuando el código es demasiado grande puede resultar muy confuso y difícil de manejar.

>Programación modular: Usando la técnica de divide y vencerás, nos permite crear módulos independientes de código que pueden interactuar entre sí.

>Programación orientada a objetos: Es muy útil para resolver problemas complejos, con un código más ordenado y legible, pero la ejecución del programa puede ser más lenta.

# data[].attributes.body
Programación Lineal:
Es una buena opción para tareas sencillas, pero no es versátil, sigue instrucciones paso a paso y termina siendo una limitación.

Programación Estructurada
Un método bastante usado debido a su simpleza y la inclusión de las bifurcaciones y ciclos, que terminan siendo bastante útiles, pero el problema de esto, es que termina siendo bastante extenso para su uso profesional, ilegible de alguna manera.

Programación Modular
Al codificar, nos encontramos con buenas novedades, ya que nos basamos en el 'divide y vencerás', partimos un problema en problemas más pequeños, estos los conectamos a un Principal y de esta manera, creamos un orden y una jerarquía de instrucciones; sin embargo, aún tenemos un acceso bastante limitado a los datos, o sea, la dificultad de crear datos globalizados.

Programación Orientada a Objetos
Teniendo en cuenta las debilidades de la programación modular, POO viene a resolver algunas de las debilidades del anterior, presenta una manera de programar abstracta y precisa, creando las operaciones con dependencias y haciendo más fácil el acceso a una operación hacia algún dato que requiera; único problemas, es lo complejo que puede resultar para los principiantes (como yo) y también que la ejecución del programa, llega a ser lenta.

# data[].attributes.body
Programación lineal:
Es fácil de entender y sencillo programar, cuenta con muchas limitantes. Sus instrucciones se escriben en orden y se ejecutara en ese orden. Su mayor problema es que para ejercer otra instrucción, tiene que haber culminado la anterior.

Programación estructurada: Los programas se hacen mucho más legible y se le entiende mejor, y el rendimiento del programador es mejor ya que no hace tanto esfuerzo. Pero tiene un pequeño detalle y es cuando se crea un bloque demasiado grande, se vuelve complicado.

La programación modular: es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Pero esto tiene su pequeño problema,
esta programación utiliza interfaces, que es una idea bastante eficaz. Para aprovechar eso, algunos marcos de trabajo traen consigo un conjunto completo de clases intercambiables. Por ejemplo, para manejar la persistencia, podría haber varias clases que implementen una interfaz de persistencia.

Sin embargo, los entornos de desarrollo integrado (IDE) se confunden con esto. Por ejemplo, se podría estar intentando encontrar la fuente de un método, y el IDE no sabrá qué método se desea ver, mostrando así una larga lista de archivos donde exista un método con ese nombre.

La Programación Orientada a Objetos es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos se utilizan como metáfora para emular las entidades reales del negocio a modelar.

# data[].attributes.body
-Programación lineal: es muy fácil de entender ya que solo ocupamos variables, pero tienes muchas limitaciones.

-Programación estructurada: Es mas ordenada y fácil de entender. se vuelve compleja al querer crear un bloque de código muy grande.

-Programación modular: es una técnica muy cómoda de trabajar y permite reutilizar el código. El problema con esta técnica es que requiere mas tiempo y memoria.

-Programación orientada a objetos: por lo que pude investigar tiene un mejor orden y mejor estética al crear un programa, aunque requiere de un mayor análisis para la solución de los problemas y su ejecución es lenta.

# data[].attributes.body
Programación lineal:
El principal problema es la no reutilización de código; es imposible reusar secciones sin tener que duplicar el código.
A su vez, no hay estética, siendo que todo el código está estructurado de tal manera que se ejecuta línea por línea, lo que conlleva a que sea difícil comprender dónde inicia y acaba una parte del programa.

Una solución para el primer problema es el uso de saltos, permitiendo la reutilización de código. Sin embargo, puede usarse indebidamente y provocar código espagueti.

Programación estructurada:
Logra solucionar algunos problemas en cuanto a condicionales y loops, facilitando la reutilización, pero los saltos aún siguen siendo necesarios.

Programación modular:
Logra solucionar el problema de la reutilización de código al dividirlos en módulos, reutilizables en casi cualquier parte del programa. Sin embargo, diversificar las funciones implicó diversificar los datos a los cuales deben de acceder, dificultando un acceso global de ellos.

La solución para ello fue el pasar tales datos como argumentos a cada módulo, o usar características del lenguaje para definir datos de manera global.

Programación orientada a objetos:
Uno de sus problemas es el tamaño de los objetos: crear un objeto no supone mucho, pero crear múltiples puede ser pesado, en especial si el objeto está sobrecargado de propiedades y métodos.
Un problema recurrente que he tenido es el uso de objetos en programación paralela, creando subprocesos o procesos en segundo plano. En ningún lenguaje ha sido fácil hacerlo.
No siempre es una solución y no puede ser usado en cualquier situación, a diferencia de la programación modular y estructurada.

# data[].attributes.body
Programación lineal: Es algo fácil de entender e implementar cuando los proyectos a realizar son sencillos, pero se vuelva tediosa cuando no lo son, es más directa pero a la vez más desordenada.

Programación estructurada: Es considerablemente más ordenada, trae conceptos y funciones nuevas que ayudan a esto, sin embargo aprender estas funciones a veces puede resultar confuso.

Programación modular: En cuanto a orden esta es la mejor con diferencia, el problema más grande es al momento de invocar funciones, ya que a muchos nos puede llegar a costar.

Programación orientada a objetos: Es el único del que no tengo mucho conocimiento, pero por lo visto es el que requiere de mayor análisis para darle solución a sus problemas.

# data[].attributes.body
Programación lineal:
Es fácil de entender y sencillo programar, cuenta con muchas limitantes. Sus instrucciones se escriben en orden y se ejecutara en ese orden. Su mayor problema es que para ejercer otra instrucción, tiene que haber culminado la anterior.

Programación estructural:
El  código se vuelve menos repetitivo y es más fácil de entender. Se puede ejercer varias opciones con el mismo dato. Lo malo es que puede llegar ser muy difícil manejarlo cuando el código se hace extenso.

Programación modular:
El código se divide en diversas partes, volviéndolo menos enrredadizo y se hace mas fácil la visualización de errores en proyectos de mayor complejidad.
Lo malo es al que ser por modulo se otorga más espacio en memoria, conllevando a sobrecargar más el equipo.

Programación orientada a objetos:
Nos ayuda a satisfacer una necesidad, Poo tiene como finalidad tratar de resolver una problemática presentada, de una forma ordenada, legible y con mayor estética.
Su mayor problema es que su ejecución es lenta y se debe tener algunos conocimientos previos de programación y buena capacidad de análisis.

# data[].attributes.body
- Programación Lineal: Es simple y directo pero, tiene muchas limitaciones ya que para poder ejecutar cada instrucción tiene que haber finalizado la anterior.

- Programación estructurada: Los programas ya son más fáciles de entender y el rendimiento del programador es mejor ya que no hace tanto esfuerzo. El problema es cuando se crea un bloque de código muy grande puede ser muy difícil manejarlo.

- Programación Modular: Se siente muy cómodo trabajar con esta técnica ya que simplifica mucho el diseño, además de disminuir la complejidad del programa. El problema es que requiere un poco más de tiempo y memoria  al crear pequeños módulos.

- Programación orientada a objetos: Por la introducción que he tenido a POO, puedo observar que tiene más orden y legibilidad al crear un programa y al descomponer un problema, esto ayuda a un mayor entendimiento del mismo, en cambio, la ejecución de un programa puede ser lenta.

# data[].attributes.headline
Problemas y soluciones de las ténicas de programación:

# data[].attributes.subject
Problemas y soluciones de las ténicas de programación:

# data[].attributes.body
Programación Lineal:
Resuelve problemas a partir de un código que se encuentra estructurado de una forma relativamente simple, en el cual las instrucciones se escriben en el orden en el cual deben ser ejecutadas. Con frecuencia puede ser muy dificil de interpretar cuando son muchas líneas de código. De igual manera los errores dentro del código pueden ser muy difíciles de detectar.

Programación estructurada:
A través de esta técnica de programación se evita copiar muchas veces el código con la finalidad de ocupar menos líneas de este y hacerlo más extenso, por tal razón se utilizan condicionales y bucles. Sin embargo, el uso de demasiadas estructuras de control puede llegar a quitarle el sentido lógico a un código y que esto traiga muchos errores consigo.

Programación modular:
Consta en dividir el código en funciones, lo cual facilita resolver el problema que se nos plantea. La creación de módulos puede resolver el problema con mayor facilidad, pero puede tomar más tiempo.

Programación Orientada a Objetos:
Permite resolver problemas que se dan con más frecuencia a nuestro alrededor. Sin embargo, representa para el programador, el planteamiento de más preguntas a la hora de programar, ya que muchas veces este puede no estar familiarizado con alguna función que el objeto que vaya usar pueda tener en un campo específico.

# data[].attributes.body
Programación lineal: Es muy simple por solo ocupar variables pero tiene los recursos muy limitados en comparación a otras técnicas.

Programación estructurada: La estructura del  código es mas clara, porque se vuelve fácil de leer. Lo malo de esto es que cuando se trabaja en un solo bloque del programa, se hace demasiado.

Programación modular: Es con el que mas me siento cómodo, porque nos permite dividir un problema complejo para resolverlo en varias partes sencillas. Una clara desventaja es que requiere bastante tiempo de dedicación y espacio de memoria.

Programación orientada a objetos: No tengo mucha experiencia con este, sin embargo según lo que investigue, nos da un fácil entendimiento del programa en el mundo real y de lógica. Y este a como los demás técnicas, al principio será difícil adaptarse.  La complejidad que tiene, se debe por el manejo de objetos.