Está en la página 1de 16

SIMULA

EL PREDECESOR DE LOS LENGUAJES ORIENTADOS A OBJETOS


Asignatura: Programacin Declarativa avanzada Alumno: Juan Lucena Raya

INDICE

Introduccin Un poco de historia Caractersticas Bsicas Sintaxis Concurrencia en Simula Qu se hizo mal en Simula?

Introduccin

Simula es el primer lenguaje de programacin orientada a objetos que varios aos despus de su desarrollo, casi todos los lenguajes modernos comenzaron a utilizar sus principios de orientacin a objetos. As fue como se popularizaron trminos como clases, objetos, instancias, herencia, polimorfismo, etc.

Un poco de Historia

1959-1960. Simula I. Proceso orientado a la simulacin discreta del mundo real, al principio como un paquete que extenda al lenguaje Algot 60. Las principales extensiones fueron:

Se implement en 1964 para la serie de computadoras 1100 de UNIVAC y posteriormente para la Burroughs B5500 y la URAL 16

Declaracin de clases Generar objetos de un clase declarada Nombrar los objetos generados Estructura jerrquica de declaracin de clases

Un poco de historia II

Simula 67 fue oficialmente lanzado por sus autores Ole Johan Dahl, Kristen Nygaard y Bjorn Mygrhaugdel en la Conferencia de Trabajo en Lenguajes de Simulacin IFIO TC 2, en Lysebu cerca de Oslo en mayo de 1967, este era un lenguaje de propsito general. Implementaciones para ordenadores IBM, DEC, Control Data y UNIVAC. En 1986 se acort su nombre a Simula, por el que se conoce en la actualidad. Hoy en da, el inters de los creadores de Simula ha producido un segundo lenguaje de programacin, llamado Beta, el cual generaliza todas las construcciones del lenguaje en una nica idea denominada patrn.

Caractersticas Bsicas

La idea de dividir un sistema en bloques que pueden resolverse individualmente se conoce en Simula como Modularizacin. Un mdulo es una estructura de datos a la que se aaden sus algoritmos y acciones asociadas. Cuando se ejecuta un bloque se genera una instancia dinmica de l. Mdulo = semntica del programa. Instancia dinmica = componente de un proceso en ejecucin. Distintitas instancias de un mismo mdulo pueden coexistir en un proceso de computacin.

Caractersticas Bsicas
CLASE = DATOS + ACCIONES

En tiempo de ejecucin

OBJETO

INSTANCIA DINMICA

Sintaxis
Class Punto(X,Y); Real X,Y; Begin Procedure Print; Begin ... End; Procedure Shift(Dx, Dy); Real Dx, Dy; Begin ... End; Print; ! Vida del punto; End of Punto; Class Circulo(Radio, Centro); Real Radio; Ref(Punto) Centro; Begin Procedure Shift(Dx, Dy); Real Dx, Dy; Begin ... End; OutText(Circulo creado en "); ! Vida del Circulo; Centro.Print; End of Circulo; Punto Class Particula; Begin Integer masa; End of Particula;

Sintaxis
Ref(Punto) A,Origen; Ref(Circulo) C; A :- New Punto(0,0); ! Crea el origen; Origen :- A C :- New Circulo(2,Origen); ! Crea el circulo;

Concurrencia en Simula

Los estados de un proceso son:

Activo: un segmento del proceso esta siendo ejecutado Suspendido: el proceso es introducido en el scheduler. A menos que sea cancelado, este ser activado en el futuro. Pasivo: el proceso no esta en el scheduler. Debe ser activado por otro proceso. Terminado: el proceso ha finalizado y no puede ser activado de nuevo.

Concurrencia en Simula

Instrucciones:

Activate X activa un proceso pasivo X. Reactivate X. otra forma de activar un proceso pasivo o cambia el prximo tiempo de activacin si el proceso es activado o suspendido. Hold(T) genera un retraso T en la vida del proceso. Passivate el proceso pasa al estado pasivo. Cancel(X) cancela la prxima activacin de X. Wait(Q) el proceso pasa al estado pasivo y lo pone al final de una lista (cola) Q.

Qu se hizo mal en Simula?

General:

Nacido en un pas europeo pequeo Congelado en 1968 Costoso No tiene un IDE moderno Demasiado complicado No existen suficientes publicaciones

Qu se hizo mal en Simula?

Caractersticas del lenguaje:


Instalaciones limitadas de acceso a archivo Tipos de datos que faltan (registros, conjuntos) No tiene paralelismo avanzado ni soporte en tiempo real No soporta GUI Ficheros ejecutables grandes para programas pequeos

Qu se hizo mal en Simula?

Caractersticas del LOO:


No tiene herencia mltiple No tiene interfaces No tiene coleccin automtica de estadstica No tiene generador de informes Ningunas instalaciones especializadas tiles (recursos)

Simulacin:

Bibliografa

Simula como predecesor de los lenguajes orientados a objetos. PF/133 History of Programming Languajes. Edited by Richard L. Wexelblat http://es.wikipedia.org/wiki/Simula http://staff.um.edu.mt/jskl1/talk.html

También podría gustarte