Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
General:
Nacido en un pas europeo pequeo Congelado en 1968 Costoso No tiene un IDE moderno Demasiado complicado No existen suficientes publicaciones
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
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