1 / 16

SIMULA

SIMULA. EL PREDECESOR DE LOS LENGUAJES ORIENTADOS A OBJETOS. Asignatura: Programación Declarativa avanzada Alumno: Juan Lucena Raya. INDICE. Introducción Un poco de historia Características Básicas Sintaxis Concurrencia en Simula ¿Qué se hizo mal en Simula?. Introducción.

mihaly
Download Presentation

SIMULA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIMULA EL PREDECESOR DE LOS LENGUAJES ORIENTADOS A OBJETOS Asignatura: Programación Declarativa avanzada Alumno: Juan Lucena Raya

  2. INDICE • Introducción • Un poco de historia • Características Básicas • Sintaxis • Concurrencia en Simula • ¿Qué se hizo mal en Simula?

  3. Introducción • Simula es el primer lenguaje de programación orientada a objetos que varios años después de su desarrollo, casi todos los lenguajes modernos comenzaron a utilizar sus principios de orientación a objetos. Así fue como se popularizaron términos como clases, objetos, instancias, herencia, polimorfismo, etc.

  4. Un poco de Historia • 1959-1960. Simula I. Proceso orientado a la simulación discreta del mundo real, al principio como un paquete que extendía al lenguaje Algot 60. Las principales extensiones fueron: • Declaración de clases • Generar objetos de un clase declarada • Nombrar los objetos generados • Estructura jerárquica de declaración de clases • Se implementó en 1964 para la serie de computadoras 1100 de UNIVAC y posteriormente para la Burroughs B5500 y la URAL 16

  5. 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 Simulación IFIO TC 2, en Lysebu cerca de Oslo en mayo de 1967, este era un lenguaje de propósito 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 día, el interés de los creadores de Simula ha producido un segundo lenguaje de programación, llamado Beta, el cual generaliza todas las construcciones del lenguaje en una única idea denominada patrón.

  6. Características Básicas • La idea de dividir un sistema en bloques que pueden resolverse individualmente se conoce en Simula como Modularización. • Un módulo es una estructura de datos a la que se añaden sus algoritmos y acciones asociadas. • Cuando se ejecuta un bloque se genera una instancia dinámica de él. • Módulo = semántica del programa. • Instancia dinámica = componente de un proceso en ejecución. • Distintitas instancias de un mismo módulo pueden coexistir en un proceso de computación.

  7. Características Básicas CLASE = DATOS + ACCIONES INSTANCIA DINÁMICA Entiempo de ejecución OBJETO

  8. 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;

  9. 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;

  10. 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.

  11. Concurrencia en Simula • Instrucciones: • Activate X activa un proceso pasivo X. • Reactivate X. otra forma de activar un proceso pasivo o cambia el próximo tiempo de activación 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 próxima activación de X. • Wait(Q) el proceso pasa al estado pasivo y lo pone al final de una lista (cola) Q.

  12. ¿Qué se hizo mal en Simula? • General: • Nacido en un país europeo pequeño • Congelado en 1968 • Costoso • No tiene un IDE moderno • Demasiado complicado • No existen suficientes publicaciones

  13. ¿Qué se hizo mal en Simula? • Características 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 pequeños

  14. ¿Qué se hizo mal en Simula? • Características del LOO: • No tiene herencia múltiple • No tiene interfaces • Simulación: • No tiene colección automática de estadística • No tiene generador de informes • Ningunas instalaciones especializadas útiles (recursos)

  15. Bibliografía • 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

More Related