Está en la página 1de 7

Calle Ramos Guillermo Javier

PARADIGMAS DE PROGRAMACION

Un paradigma de programación indica un método que se va a utilizar para realizar

cómputos, y la manera en la que se va a organizar y estructurar las tareas que llevara a

cabo un programa. También conocido como un “estilo de programación”. Los lenguajes

a menudo suelen implementar de manera parcial varios paradigmas de programación.

Los paradigmas de computación están basados en diferentes modelos de cómputo. La

división principal son el enfoque imperativo, y el enfoque declarativo.

El concepto clásico es el de la programación imperativa, en la cual se define

específicamente en el código fuente que pasos ejecutará un programa y en que

secuencia.

En la programación declarativa, solo se describe lo que debe solucionar el software (el

resultado, mas no los pasos individuales). Subtipos de la programación declarativa son

la programación funcional y lógica.

1. Paradigma Imperativo.

Describe como debe realizarse el cálculo, no el porqué. Un cómputo consiste ene

una serie de sentencias ejecutadas según un control, que modifica el estado del

programa.

Los primeros lenguajes de programación, y a su vez los primeros programas, se

basaban completamente en este enfoque, que brinda una secuencia de órdenes o

instrucciones. Sirvió como base para los lenguajes ya veteranos Pascual y C, así

como todos los lenguajes ensambladores.

En este enfoque se centra en trabajar los mas cerca posible del sistema. Como

consecuencia de esto el código es sencillo de comprender. La programación


Calle Ramos Guillermo Javier

estructurada, procedimental y modular son 3 enfoques adicionales subordinados

del paradigma de programación imperativa.

a. Programación estructurada. En este estilo de programación se suelen utilizar

los bucles y estructuras de control. Por ejemplo, el uso del While para

realizar una instrucción cada vez que se cumpla una determinada condición

indicada por el programador.

b. Programación procedimental. Este paradigma hace posible desglosar

algoritmos en porciones manejables denominados procedimientos, o también

conocidos como funciones. Su principal objetivo es hacer un código más

claro y evitar la repetición innecesaria del mismo.

c. Programación modular. Similar al paradigma procedimental, se divide el

código en bloques parciales lógicos, los cuales pueden ser probados por

separado antes de volver a vincularse a la aplicación conjunta. Esto facilita la

resolución de errores en el programa (debugging).

2. Paradigma declarativo

Este paradigma de programación describe que se debe calcular, sin explicitar el

cómo. El control de flujo suele ser asociado a la composición funcional, la

recursividad y/o técnicas de reescritura y unificación.

Sus principales variantes son los paradigmas: funcional, lógico, la programación

reactiva y los lenguajes descriptivos.

El principio de la programación declarativa radica en la descripción del

resultado final que se busca. Por lo tanto, en primera línea se encuentra el “qué”

del resultado y no el “cómo” de los pasos que lleva a la solución. Esto provoca
Calle Ramos Guillermo Javier

que el código sea más difícil de comprender debido al alto grado de abstracción,

aunque resulta muy corto y preciso.

a. Programación funcional. Las funciones existen en cualquier lenguaje de

programación estándar, sin embargo, en el enfoque funcional se cuenta con

funciones de una clase particular:

Un programa de programación funcional consta de llamadas de función

concatenadas en las que cada parte del programa se interpreta como una

función. En este sentido, las funciones dentro de la programación funcional

pueden adoptar distintas “estructuras”. Por ejemplo, se pueden vincular entre

sí como datos o se pueden utilizar en forma de parámetros. Asimismo, se

pueden utilizar como resultados de función. En contraposición, el paradigma

se ocupa de que no haya asignaciones independientes de valores.

b. Programación lógica. Denominada también programación predicativa, se

basa en la matemática. El software contiene un conjunto de principios que se

pueden entender como una recopilación de hechos y suposiciones.

La ejecución consiste en la resolución de un problema de decisión, los

resultados se obtienen mediante la instanciación de las variables libres.

c. Programación Reactiva. Basa en la teoría de grafos. Un programa basado en

este enfoque consiste en la especificación de flujo de datos entre

operaciones. Las variables se encuentran ligadas a las operaciones que

proporcionan sus valores. Un cambio de valor de una variable se propaga a

todas las operaciones en que participa.


Calle Ramos Guillermo Javier

LA PROGRAMACIÓN ORIENTADA A OBJETOS

Es un paradigma de programación que usa objetos y sus interacciones, para diseñar

aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo

herencia, abstracción, polimorfismo y encapsulamiento.

Los objetos son entidades que combinan atributos, métodos e identidad.

La POO difiere de la programación estructurada tradicional, en la que los datos y los

procedimientos están separados y sin relación, ya que lo único que se busca es el

procesamiento de unos datos de entrada para obtener otros de salida. La programación

estructurada anima al programador a pensar sobre todo en términos de procedimientos o

funciones, y en segundo lugar en las estructuras de datos que esos procedimientos

manejan. En la programación estructurada sólo se escriben funciones que procesan

datos. Los programadores que emplean POO, en cambio, primero definen objetos para

luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

Surgen conceptos fundamentales para poder programas usando la orientación a objetos.

Clase. Definiciones de las propiedades y comportamientos de un tipo de objeto. Una

instancia de una clase es la lectura de sus definiciones y la creación de un objeto a partir

de ella.

Objeto. Es una entidad provista de atributos, y de funcionalidades (o métodos), los

cuales reaccionan a eventos. Es una instancia de una clase.

Método. Es un algoritmo asociado a un objeto (o clase de objetos), cuya ejecución

desencadena tras la recepción de un “mensaje”. Es lo que el objeto puede hacer.


Calle Ramos Guillermo Javier

Evento. Es un suceso en el sistema. El sistema maneja el evento enviando el mensaje

adecuado al objeto pertinente. También se define como la reacción que puede

desencadenar un objeto.

Mensaje. Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus

métodos con ciertos parámetros asociados al evento que lo generó.

Propiedad o atributo. Contenedor de un tipo de datos asociados a un objeto (o a una

clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define

como sus características predeterminadas, y cuyo valor puede ser alterado por la

ejecución de algún método.

Estado interno. Es una variable que se declara privada, que puede ser únicamente

accedida y alterada por un método del objeto, y que se utiliza para indicar distintas

situaciones posibles para el objeto (o clase de objetos). No es visible al programador

que maneja una instancia de la clase.

Componentes de un objeto

Atributos, identidad, relaciones y métodos.

Identificación de un objeto

Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus

atributos y funciones correspondientes.

En comparación con un lenguaje imperativo, una "variable", no es más que un

contenedor interno del atributo del objeto o de un estado interno, así como la "función"

es un procedimiento interno del método del objeto.


Calle Ramos Guillermo Javier

Características de la Orientación a objetos:

A. Abstracción.

El proceso de abstracción permite seleccionar las características relevantes

dentro de un conjunto e identificar comportamientos comunes para definir

nuevos tipos de entidades en el mundo real. La abstracción es clave en el

proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos

llegar a armar un conjunto de clases que permitan modelar la realidad o el

problema que se quiere atacar.

B. Encapsulamiento.

Significa reunir a todos los elementos que pueden considerarse pertenecientes a

una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la

cohesión de los componentes del sistema

C. Polimorfismo

Esto quiere decir que comportamientos diferentes asociados a objetos distintos,

pueden compartir el mismo nombre. Al llamarlos por dicho nombre realizará el

comportamiento correspondiente dependiendo del objeto que emplee dicho

comportamiento.

D. Herencia.

Las clases se relacionan entre sí, formando jerarquías de clasificación. Los

objetos heredan las propiedades y comportamientos de todas las clases a las que

pertenecen. La herencia organiza y facilita el polimorfismo y el

encapsulamiento, y permiten a un objeto ser definido y creado como tipos

especializados de objetos preexistentes. Estos pueden compartir y extender sus

comportamientos sin tener que volver a implementarlo. Lo “heredan”.


Calle Ramos Guillermo Javier

También podría gustarte