0% encontró este documento útil (0 votos)
669 vistas16 páginas

SIMULA

Simula was the first object-oriented programming language, created in the 1960s by Kristen Nygaard and Ole-Johan Dahl to enable complex system simulation through the use of objects and classes. Simula introduced fundamental concepts of object-oriented programming like classes, objects, inheritance and polymorphism. It enabled modeling of real-world systems through objects that could represent entities, and classes that could represent the relationships between those entities.

Cargado por

Eduardo Cortez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
669 vistas16 páginas

SIMULA

Simula was the first object-oriented programming language, created in the 1960s by Kristen Nygaard and Ole-Johan Dahl to enable complex system simulation through the use of objects and classes. Simula introduced fundamental concepts of object-oriented programming like classes, objects, inheritance and polymorphism. It enabled modeling of real-world systems through objects that could represent entities, and classes that could represent the relationships between those entities.

Cargado por

Eduardo Cortez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

SIMULA

Integrantes:

- Arbayo Félix Nidia Miroslava


- Cortez Esparza Eduardo Alejandro
- Diaz Villegas Francisco Javier
- Gracia Calderón José Ramón
- Rojas Duarte Adrián Alfredo
- Sauceda López Daniel Iván
1. Introducción
A mediados de los años 60 se empezó a vislumbrar el uso de las computadoras para la simulación de problemas
del mundo real, estos problemas estaban llenos objetos normalmente muy complejos, los cuales eran difícilmente
traducidos a los tipos de datos primitivos de los pocos lenguajes de la época.

Así fue como a partir de esta necesidad a dos Noruegos se les ocurrió el concepto de “OBJETO” y sus
colecciones CLASES DE OBJETOS. Nació así el lenguaje SIMULA, un lenguaje que contiene el
embrión de lo que hoy se conoce como la PROGRAMACIÓN ORIENTADA A OBJETOS.

2
2. Desarrollo y Creación del Lenguaje
Simula es el nombre de dos lenguajes de programación de simulación , Simula I y Simula 67, sus creadores
fueron Kristen Nygaard y Ole-Johan Dahl del Centro Noruego de Computación en Oslo, y su desarrollo se
extendió desde 1962 a 1967.

El objetivo inicial era definir un lenguaje de propósito específico para aplicaciones de


simulación. De hecho, realizaron una primera versión, bajo contrato con la empresa
UNIVAC, que no incluía conceptos novedosos desde el punto de vista de programación
-aunque sí desde el punto de vista de simulación- con respecto al lenguaje más avanzado
de esos años, Algol 60.

3
3. Definición
Simula es considerado el primer lenguaje de programación orientado a objetos.
Como su nombre lo indica, Simula fue diseñada para hacer simulaciones , y las
necesidades de ese dominio proporcionaron el marco para muchas de las
características de los lenguajes orientados a objetos en la actualidad.

Simula se ha utilizado en una amplia gama de aplicaciones, como la


simulación de diseños VLSI , modelado de procesos , protocolos ,
algoritmos y otras aplicaciones como la composición tipográfica ,
gráficos por computadora y educación.

4
4. Historia
Kristen Nygaard comenzó a escribir programas de simulación por
computadora en 1957. Nygaard vio la necesidad de una mejor manera de
describir la heterogeneidad y el funcionamiento de un sistema. Para ir más allá
con sus ideas en un lenguaje de computadora formal para describir un
sistema, Nygaard se dio cuenta de que necesitaba a alguien con más
habilidades de programación que la que él tenía. Ole-Johan Dahl se unió a él
en su trabajo de enero de 1962.

La decisión de vincular el lenguaje con ALGOL 60 se tomó poco después. En


mayo de 1962 se establecieron los conceptos principales para un lenguaje de
simulación . "SIMULA I" nació, un lenguaje de programación de propósito
especial para simular sistemas de eventos discretos.
5
5. Características
Simula fue, probablemente, el primer lenguaje que presentó las nociones de clase y herencia
jerárquica. No se admite la herencia múltiple. El ocultamiento de información se lleva a cabo
“protegiendo” una característica, lo cual, a su vez, evita que sea heredada en lo sucesivo.
Admite la sobrecarga de métodos.

La comprobación de tipos se puede realizar, bien estáticamente en el momento de la


compilación, para mayor eficiencia, o bien en el momento de la ejecución si se define una
característica como “virtual”.

6
6. Evolución

Años después del desarrollo de Simula 67 casi todos los lenguajes de programación modernos comenzaron a utilizar los
principios de orientación a objetos. Así fue como se popularizaron términos como clases, objetos, instancias, herencia,
polimorfismo, etc. Un ejemplo significativo fue el nacimiento del lenguaje Java, uno de los lenguajes orientados a
objetos con mayor reconocimiento a nivel mundial.

7
7. Ventajas
 Una buena abstracción de las clases, objetos y atributos nos brinda una implementación más
detallada, puntual y coherente.
 Reutilización de código: Cuando se han diseñado adecuadamente las clases, se pueden usar en
distintas partes del programa y en numerosos proyectos (herencia).
 Modificabilidad: La facilidad de añadir o suprimir nuevos objetos nos permite hacer
modificaciones de una forma muy sencilla.
 Encapsulamiento: Nos permite proteger la integridad de los datos.
 Fiabilidad: Al dividir el problema en partes más pequeñas podemos probarlas de manera
independiente y aislar mucho más fácilmente los posibles errores que puedan surgir.
 Bajo acoplamiento y alta cohesión: Las clases son independientes entre sí, y hacen las tareas
específicas para las cuales fueron diseñadas.
 Beneficios de diseño.
 Mantenimiento de software.
 Amplia documentación.

8
8. Desventajas
 Curva de aprendizaje: La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y
entrenamiento.
 La ejecución de programas orientados a objetos es más lenta.
 Se hereda código que no se usa en la clase hija cuando se extiende de una clase padre.
 Tiempo en fase de diseño.
 Tamaño del programa.

9
9. Simula vs Smalltalk
A Favor de Simula:

 Tenía una comprobación de tipos en tiempo de compilación, lo que permitía detectar errores de
tipos. Smalltalk era un lenguaje sin tipos, por lo que no existía declaraciones de tipo de
variables y no se realizaba ninguna comprobación estricta de tipos. Así los errores que surgen
cuando un objeto recibe un mensaje que no pueda resolver, se procesan todos en tiempo de
Ejecución.
 Era un lenguaje ampliamente concurrente (debido a sus características innatas como
simulador). En cambio Smalltalk permitía una concurrencia escasa.
 Separación Clase-Objeto. En Smalltalk todo eran Objetos, incluso las clases eran también
Objetos.

10
9. Simula vs Smalltalk
En Contra:

 - Smalltalk no es solamente un lenguaje, sino todo un entorno completo de programación, que


incluye numerosas librerías de clases, contemplándose las abstracciones básicas como
colecciones o diccionarios, así como clases gráficas para el manejo de ventanas, barras de
desplazamiento, etc. Es, por tanto, un lenguaje casi imposible de separar de su entorno de
desarrollo. En cambio Simula67 carecía de un entorno apropiado con sus características.
 - Simula, no disponía de depuradores, visores y tampoco disponía de ninguna aplicación que
permitiese visualizar su Jerarquía de clases. Smalltalk si disponía de ello, lo que facilitaba el
trabajo de los programadores. Consiguiendo una mejor difusión entre la comunidad de
programadores que Simula.
 - La sintaxis en Simula, no era ni intuitiva ni sencilla. Puesto que era un lenguaje tipado, tanto
las variables como los atributos necesitan tener un tipo asociado. Esto unido a la falta de
entornos de desarrollo y depuradores hizo aun mas dificultosa la tarea de programar en Simula.
Todo lo contrario pasaba en Smalltalk, su sintaxis era muy simple y uniforme, variables y
atributos no necesitaban de tener un tipo y en principio TODO está definido como objeto,
incluyendo a las propias clases.

11
9. Simula vs Smalltalk

12
10. Ejemplo:
PROGRAMA MINIMO:

El archivo de computadora vacío es el programa mínimo en Simula, medido por el tamaño


del código fuente . Consiste en una sola cosa; Una declaración falsa.
Sin embargo, el programa mínimo se representa más convenientemente como un bloque
vacío:

HOLA MUNDO:

Un ejemplo de un programa Hello world en Simula:

13
10. Ejemplo:
Simulation Begin Process Class Person (pname); Text pname; Begin
While True Do Begin
Class FittingRoom; Begin Hold (Normal (12, 4, u));
Ref (Head) door; report (pname & " is requesting the fitting room");
Boolean inUse; [Link];
Procedure request; Begin report (pname & " has entered the fitting room");
If inUse Then Begin Hold (Normal (3, 1, u));
Wait (door); [Link];
[Link]; report (pname & " has left the fitting room");
End; End;
inUse:= True; End;
End;  
Procedure leave; Begin Integer u;
inUse:= False; Ref (FittingRoom) fittingRoom1;
Activate [Link];  
End; fittingRoom1:- New FittingRoom;
door:- New Head; Activate New Person ("Sam");
End; Activate New Person ("Sally");
Activate New Person ("Andy");
Procedure report (message); Text message; Begin Hold (100);
OutFix (Time, 2, 0); OutText (": " & message); OutImage; End;
End;
 
14
Conclusión
Se pretendía que este lenguaje fuese implantado en las estaciones de trabajo de su época, sobre
todo en las primeras máquinas de IBM, sin embargo competir con el departamento que desarrollaba
software de IBM, era una tarea imposible pues estaba formado por más de 500 personas. Con lo
que IBM que era por aquella fecha el principal vendedor de Hardware dio de lado a SIMULA 67, con
lo que éste quedo relegado a usarse en máquinas poco difundidas, y su trascendencia internacional
fue mucho menor de la esperada inicialmente. No solo fue poca su implantación sino que además
los beneficios económicos fueron eran muy bajos, casi insuficiente para mantener los gastos
económicos de los desarrolladores del NCC. Debido a esto un lenguaje que supuso una primera
aproximación hacia el “extendido” (hoy día) modelo de objetos, no tuvo la repercusión ni el
reconocimiento adecuado de la comunidad científica de la época.
No fue hasta los años 80 cuando dichas ideas fueron rescatadas y comenzaron a utilizarse en
lenguajes como SMALLTALK, C++… Pese a ello podemos decir que hoy día el modelo de objetos
introducido por primera vez en el lenguaje Simula, esta ampliamente extendido y goza de un gran
auge gracias a la popularidad de lenguajes como JAVA. (Que lo han tenido todo de cara para
expandirse, con el nacimiento de Internet….)

15
¡Gracias!

16

También podría gustarte