Paradigmas

Solo disponible en BuenasTareas
  • Páginas : 13 (3067 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de noviembre de 2011
Leer documento completo
Vista previa del texto
Historia de los paradigmas en el desarrollo del software.

Los enfoques generales para la escritura del código han sido:
* Programación “espaguetti”. Sin una secuencia de ejecución definida. Sin módulos.
* Programación estructurada. Se usan los módulos (basados en procedimientos) y las sentencias de programación estructuradas.
* POO. Se afina el concepto de módulo al incluir datos yprocedimientos (en una “clase”). Incluye nuevos conceptos como herencia, polimorfismo, etc.
Algunos paradigmas de programación específicos (procedimientos computacionales para resolver un problema), son

Programación imperativa
Programación declarativa
Programación orientada a objetos
Programación basada en módulos
Otros paradigmas
PROGRAMACIÓN IMPERATIVA

* Modela la arquitectura dela máquina de von Neumann
* La computación consiste en la ejecución paso a paso de algoritmos (secuencias condicionales o repetitivas de instrucciones) que modifican los contenidos de variables (espacios de memoria)
* Tipos:
* Lenguajes procedurales (Pascal, C): utilizan subprogramas como unidades de modularización para definir pasos de computación
* Lenguajes orientados a objetos(Smalltalk, C++, Java): encapsulan en objetos tanto los datos como las operaciones sobre los mismos.

* Ejemplo de programación imperativa

Function member (e: real; a: lista-reales): lista-reales;
begin
if (a = nil)
then member := nil
else while ((aˆ .siguiente <> nil) and
(e <> aˆ .elemento)) do
a := aˆ .siguiente;
if e = aˆ .elemento
then member := a
else member :=nil
end;

PROGRAMACIÓN DECLARATIVA

* Utiliza bloques de construcción como las funciones, la recursión o la equiparación de patrones, para especificar más la solución que su cálculo de bajo nivel
* Tipos:
* Lenguajes funcionales (Common Lisp, Scheme, Haskell): utilizan funciones libres de efectos secundarios como bloques primitivos de construcción de programas. Estas funcionespueden aplicarse, construirse y pasarse como argumentos a otras funciones
* Lenguajes lógicos (Prolog): calculan resultados utilizando reglas e inferencia lógicas

* Ejemplo de programación declarativa

Programaci´on l ´ogica (Prolog)
member(A,[A|X],[A|X]) :- !.
member(A,[B|X],Y) :- member(A,X,Y).
Programaci´on funcional (CommonLisp y Haskell)
(defun member (elemento lista)
(cond((null lista) nil)
((eq elemento (car lista)) lista)
(t (member elemento (cdr lista)))))
fact 0 = 1
fact n = n * fact (n - 1)

PROGRAMACIÓN ORIENTADA A OBJETOS

* Define la computación como la interacción entre objetos autónomos
* Mediante la utilización de objetos, la programación se convierte en simulación
* Los objetos son instancias de clases que se organizan en jerarquÍas deherencia
* Los objetos se comportan independientemente
* Utilizan la selección de las operaciones en tiempo de ejecución cuando interpretan los mensajes provenientes de otros objetos
* Ejemplos:
* Smalltalk, Eiffel, y Java son lenguajes orientados a objetos
Muchos lenguajes actuales, como C++, Ada-95, o Common Lisp también dan soporte a este tipo de programación

* Ejemplo deprogramación orientada a objetos
* Clase: lista
* Atributos: elemento, siguiente
* Métodos: primero, siguiente, member, …
* Ejecución de member: mandar un mensaje member a una instancia de la clase lista con el argumento elemento a buscar

PROGRAMACIÓN BASADA EN MÓDULOS

* Reconoce agrupaciones de variables, procedimientos y tipos como unidades estáticas de modularidad deprograma
* El interface a un módulo (o paquete) especifica y exporta una serie de servicios generales
* Los detalles de implementación se ocultan en una unidad de programa compilada separadamente
* Ejemplos:
Modula-2, Ada y C++ soportan este estilo de programación que puede ser combinada con cualquier otro tipo de paradigma

OTROS PARADIGMAS DE PROGRAMACIÓN

* programación...
tracking img