evolucion de la programacion
´n
Evolucio
Orientada a Objetos
Dr. Luis Gerardo de la Fraga
Departamento de Computaci´
on
Cinvestav
Correo-e: fraga@cs.cinvestav.mx
7 de diciembre de 2006
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
1/32
´n
Motivacio
Se presentar´a en esta charla:
Una revisi´
on hist´
orica del
paradigma OO
Situar OO contra otrosparadigmas, en especial los
lenguajes de muy alto nivel
Una cr´ıtica personal a la
programaci´
on OO
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
2/32
Contenido
Introducci´on
Antecedentes de la programaci´
on OO
Caracter´ısticas del modelo OO
Comparaci´on entre lenguajes OO
Clasificaci´on de los metodolog´ıas OO
Los lenguajes de muy alto nivel¿Cu´al es el mejor paradigma?
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
3/32
´ n (1/3)
Introduccio
La programaci´on OO empez´
o hace 30 a˜
nos
En los 1990s se increment´
o dram´aticamente la demanda para
sistemas de software OO, por la promesa en la revoluci´on en
el desarrollo de software.
Han aparerecido varias metodolog´ıas para el desarrollode
software, que tienen que ver con algunas o todas las fases del
ciclo de vida del software, desde los requerimientos al
mantenimiento.
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
4/32
´ n (2/3)
Introduccio
Algunas caracter´ısticas importantes de los sistemas de software
actuales son:
Complejidad: la arquitectura interna de los sistemasactuales
de software es compleja, incluyen frecuentemente concurrencia
y paralelismo. La abstracci´
on en terminos de conceptos de OO
es una t´ecnica que ayuda a tratar con la complejidad.
Amigabilidad: Este es un requerimiento de suma importancia
para los sistemas de software en general.
Reusabilidad: Tomar componentes creados por otros es mejor
que crearlos nuevos. La herencia es un mecanismo de OO queestimula la reusabilidad del software. Facilita el r´apido
desarrollo del software.
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
5/32
´ n (3/3)
Introduccio
Las razones del r´apido desarrollo en los u
´ltimos 15 a˜
nos han sido:
Una mejor modelaci´
on de aplicaciones del mundo real
La posibilidad del reuso del software durante el desarrollo deun sistema de software
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
6/32
Antecedentes (1/2)
Simulación
de sistemas
Clases +
objetos
Sistemas
operativos
Monitores
Abstracción
de datos
Tipos de
datos
abstractos +
encapsulación
Inteligencia
artificial
Marcos
Paradigma
Orientado a Objetos
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on dela Programaci´
on Orientada a Objetos
7/32
Antecedentes (2/2)
La caracter´ıstica com´
un de estas ideas es que un objeto es una
entidad l´ogica o f´ısica que est´a autocontenida.
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
8/32
Caracter´ısticas
OO se define por herencia, encapsulaci´
on, m´etodos y
mensajes, como en Smalltalk.
OO se defineencapsulaci´
on, abstracci´
on de datos, m´etodos,
mensajes, herencia y vinculaci´
on din´amica.
Es un modelo de simula el comportamiento ya sea de una
parte del mundo real o imaginario.
Objetos, clases y herencia. Los objetos son entidades
aut´onomas que tienen un estado y responden a mensajes. Las
clases agrupan los objetos por sus atributos y operaciones.
Todas tienen el com´
un de usar objetoscomo una
encapsulaci´on para proteger los datos con todas las
operaciones legales que actuan sobre esa informaci´on oculta.
Dr. Luis Gerardo de la Fraga
Cinvestav
Evoluci´
on de la Programaci´
on Orientada a Objetos
9/32
´ n entre lenguajes OO (1/4)
Comparacio
Ensamblador
50s
Fortran
60s
Lisp
Algol
Simula
Pascal
70s
Smalltalk
Beta
C
Ada
CLU
Modula−2
C++
80s
Flavors
Loops
CLOS...
Regístrate para leer el documento completo.