Share
VIDEOS 1 TO 50
Patch Quiwa- Simula pa nung una (Original Song)
Patch Quiwa- Simula pa nung una (Original Song)
Published: 2017/07/10
Channel: Patch Quiwa
6 Years of Rebellion Guest Mix • Simula
6 Years of Rebellion Guest Mix • Simula
Published: 2017/08/21
Channel: The Dub Rebellion
SIMULA PA NUNG UNA BY PATCH (LYRIC PRANK)
SIMULA PA NUNG UNA BY PATCH (LYRIC PRANK)
Published: 2017/09/01
Channel: yalu_ ok
Simula Pa Nung Una Chipmunks Version
Simula Pa Nung Una Chipmunks Version
Published: 2017/10/17
Channel: A V A K I N G O N Z A L E S!
JANICA NAM NAGPAKITA SA UNANG PAGKAKATAON SIMULA NG PAG-PANAW NI #FRANCO
JANICA NAM NAGPAKITA SA UNANG PAGKAKATAON SIMULA NG PAG-PANAW NI #FRANCO
Published: 2017/11/23
Channel: Showbiz Trends Viral
JOE ARROYO - SIMULA TIMULA
JOE ARROYO - SIMULA TIMULA
Published: 2010/10/13
Channel: Carlos EcE
Simula pa nung una (Duet Version) - Patch Quiwa
Simula pa nung una (Duet Version) - Patch Quiwa
Published: 2017/07/21
Channel: Khyle Galang
Simula - Ravioli
Simula - Ravioli
Published: 2017/05/21
Channel: thats_skanky
SIMULA PA NUNG UNA - Patch Quiwa (KARAOKE VERSION)
SIMULA PA NUNG UNA - Patch Quiwa (KARAOKE VERSION)
Published: 2017/09/14
Channel: CoversPH
Simula - Bullfrog
Simula - Bullfrog
Published: 2016/05/03
Channel: Bass City
ESPN SIMULA SORTEO DE OPONENTE DE PERÚ Y RICARDO GARECA LES RESPONDIÓ ASÍ
ESPN SIMULA SORTEO DE OPONENTE DE PERÚ Y RICARDO GARECA LES RESPONDIÓ ASÍ
Published: 2017/11/22
Channel: MUNDIAL PERUANO
Simula - Turn Up
Simula - Turn Up
Published: 2016/09/16
Channel: The Dub Rebellion
GOPE Simula un Asalto a Bus con Rehenes [ExpoSeguridad 2017]
GOPE Simula un Asalto a Bus con Rehenes [ExpoSeguridad 2017]
Published: 2017/10/26
Channel: jona
Simula timula - Joe Arroyo
Simula timula - Joe Arroyo
Published: 2011/08/26
Channel: JoseSirtori
Simula - Bookey {Free Download}
Simula - Bookey {Free Download}
Published: 2017/01/19
Channel: JumpUp Cave
Eazy – Simula – K Motionz (The face off USB)
Eazy – Simula – K Motionz (The face off USB)
Published: 2016/12/11
Channel: JumpUp Cave
24 Oras: Hanging amihan, hanggang Mindanao na mararamdaman simula sa Sabado
24 Oras: Hanging amihan, hanggang Mindanao na mararamdaman simula sa Sabado
Published: 2017/11/23
Channel: GMA News
Nasa 1.2-M gov
Nasa 1.2-M gov't employees, makakatanggap ng umento simula sa Enero
Published: 2017/11/22
Channel: GMA News
SImula - Cheese Riddim
SImula - Cheese Riddim
Published: 2016/12/09
Channel: thats_skanky
DirecTV Sports: Fútbol Total simula sorteo de Fase de Grupos del Mundial 2018
DirecTV Sports: Fútbol Total simula sorteo de Fase de Grupos del Mundial 2018
Published: 2017/11/24
Channel: Christopher Jefry Salas Valdez
padre simula montaña rusa | dad simulates roller coaster for young doughter
padre simula montaña rusa | dad simulates roller coaster for young doughter
Published: 2017/07/09
Channel: D-locos
Mojofly- Simula
Mojofly- Simula
Published: 2013/01/07
Channel: Dean De Jesus
Simula - Trigger Happy
Simula - Trigger Happy
Published: 2016/05/06
Channel: JumpUp Cave
Higit 10,000 iligal na armas, nakumpiska ng PNP Pangasinan simula noong Agosto 2017
Higit 10,000 iligal na armas, nakumpiska ng PNP Pangasinan simula noong Agosto 2017
Published: 2017/11/24
Channel: Eagle News
tanke one simula.wmv
tanke one simula.wmv
Published: 2009/12/21
Channel: Juan Pablo AHdz
Flavinho simula pergunta que faria a Everton Ribeiro:
Flavinho simula pergunta que faria a Everton Ribeiro: 'Tomaria um tapa na orelha', diz Pascoal
Published: 2017/06/06
Channel: CAMFWAYNE WORLD
Encantadia: Bagong Simula
Encantadia: Bagong Simula
Published: 2016/12/27
Channel: Rugene Ramos
Simula - Trigger Happy
Simula - Trigger Happy
Published: 2017/03/27
Channel: JUMP UP NEVER DIES
Simula - The Moon
Simula - The Moon
Published: 2016/11/27
Channel: Bass Entity
Il boss Michele Zagaria simula suicidio
Il boss Michele Zagaria simula suicidio
Published: 2017/11/20
Channel: LA_BESTIA ILLUMINATI
simula ng makilala kita by blazyone and boss a
simula ng makilala kita by blazyone and boss a
Published: 2012/07/20
Channel: richmond tandiama
Bargs Kayumanggi & Bon Pungay - Simula Ulit
Bargs Kayumanggi & Bon Pungay - Simula Ulit
Published: 2017/08/20
Channel: Tanaw Pungay
Simula - Real Life Simulator
Simula - Real Life Simulator
Published: 2017/01/25
Channel: JumpUp Cave
SKYWARS: KIT QUE SIMULA O HACK FLY!
SKYWARS: KIT QUE SIMULA O HACK FLY!
Published: 2016/07/17
Channel: SeveBR
Mojofly - Simula
Mojofly - Simula
Published: 2008/02/21
Channel: Allan Edward Elgar
Science Music Video Project | [Simula Pa Nung Una] Song by: Patch Quiwa
Science Music Video Project | [Simula Pa Nung Una] Song by: Patch Quiwa
Published: 2017/09/13
Channel: Kimberly Sangcap
Simula - War Chant
Simula - War Chant
Published: 2016/12/29
Channel: Underground Jump Up
SIMULA BY APOLLO ONE
SIMULA BY APOLLO ONE
Published: 2012/07/26
Channel: produksyon
Simula pa nung una   Patch Quiwa COVER
Simula pa nung una Patch Quiwa COVER
Published: 2017/10/05
Channel: Mark Jazter
Simula & Bou  - Elixer
Simula & Bou - Elixer
Published: 2015/12/14
Channel: thats_skanky
Simula sa araw na to kakain na kayo ng Apple🍎paano ako mag prepare ng salad🥗
Simula sa araw na to kakain na kayo ng Apple🍎paano ako mag prepare ng salad🥗
Published: 2017/11/24
Channel: Charmie Lagaso
ROADKILL TOUR - VALLEY OF CHROME - SIMULA
ROADKILL TOUR - VALLEY OF CHROME - SIMULA
Published: 2017/08/30
Channel: TOWERofDOOM
Ganito na pala talaga kalayo ang narating ni Maine Mendoza simula nang pumasok sa EB
Ganito na pala talaga kalayo ang narating ni Maine Mendoza simula nang pumasok sa EB
Published: 2017/11/20
Channel: MaiChard
Simula Ng Pasko - Mabuhay Singers
Simula Ng Pasko - Mabuhay Singers
Published: 2009/08/06
Channel: bunoy20
JUAN DELA CRUZ : Ang Simula Teaser
JUAN DELA CRUZ : Ang Simula Teaser
Published: 2013/01/31
Channel: ABS-CBN Entertainment
Whither programming languages? Can we still celebrate Simula 50 years from now? Panel Discussion
Whither programming languages? Can we still celebrate Simula 50 years from now? Panel Discussion
Published: 2017/10/04
Channel: UiO Realfagsbiblioteket
Sinungaling Mong Puso: Ang simula
Sinungaling Mong Puso: Ang simula
Published: 2016/07/18
Channel: GMA Network
Simula - Imposter
Simula - Imposter
Published: 2016/01/20
Channel: AustrianDrumandBass
Simula - Real Life Simulator
Simula - Real Life Simulator
Published: 2017/01/26
Channel: thats_skanky
All Star Videoke Teaser: Simula na ng videoke-sayahan
All Star Videoke Teaser: Simula na ng videoke-sayahan
Published: 2017/08/23
Channel: GMA Network
NEXT
GO TO RESULTS [51 .. 100]

WIKIPEDIA ARTICLE

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Simula
Paradigm Object-oriented
Designed by Ole-Johan Dahl, Kristen Nygaard
First appeared 1965
Influenced by
ALGOL 60
Influenced
Object-oriented programming languages

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is a fairly faithful superset of ALGOL 60.[1]:1.3.1

Simula 67 introduced objects,[1]:2, 5.3 classes,[1]:1.3.3, 2 inheritance and subclasses,[1]:2.2.1 virtual procedures,[1]:2.2.3 coroutines,[1]:9.2 and discrete event simulation,[1]:14.2 and features garbage collection.[1]:9.1 Also other forms of subtyping (besides inheriting subclasses) were introduced in Simula derivatives.[citation needed]

Simula is considered the first object-oriented programming language. As its name suggests, Simula was designed for doing simulations, and the needs of that domain provided the framework for many of the features of object-oriented languages today.

Simula has been used in a wide range of applications such as simulating VLSI designs, process modeling, protocols, algorithms, and other applications such as typesetting, computer graphics, and education. The influence of Simula is often understated, and Simula-type objects are reimplemented in C++, Object Pascal, Java, C# and several other languages. Computer scientists such as Bjarne Stroustrup, creator of C++, and James Gosling, creator of Java, have acknowledged Simula as a major influence.[2]

History[edit]

The following account is based on Jan Rune Holmevik's historical essay.[3][4]

Kristen Nygaard started writing computer simulation programs in 1957. Nygaard saw a need for a better way to describe the heterogeneity and the operation of a system. To go further with his ideas on a formal computer language for describing a system, Nygaard realized that he needed someone with more computer programming skills than he had. Ole-Johan Dahl joined him on his work January 1962. The decision of linking the language up to ALGOL 60 was made shortly after. By May 1962 the main concepts for a simulation language were set. "SIMULA I" was born, a special purpose programming language for simulating discrete event systems.

Kristen Nygaard was invited to visit the Eckert–Mauchly Computer Corporation late May 1962 in connection with the marketing of their new UNIVAC 1107 computer. At that visit Nygaard presented the ideas of Simula to Robert Bemer, the director of systems programming at Univac. Bemer was a sworn ALGOL fan and found the Simula project compelling. Bemer was also chairing a session at the second international conference on information processing hosted by IFIP. He invited Nygaard, who presented the paper "SIMULA -- An Extension of ALGOL to the Description of Discrete-Event Networks".

The Norwegian Computing Center got a UNIVAC 1107 August 1963 at a considerable discount, on which Dahl implemented the SIMULA I under contract with UNIVAC. The implementation was based on the UNIVAC ALGOL 60 compiler. SIMULA I was fully operational on the UNIVAC 1107 by January 1965. In the following couple of years Dahl and Nygaard spent a lot of time teaching Simula. Simula spread to several countries around the world and SIMULA I was later implemented on Burroughs B5500 computers and the Russian URAL-16 computer.

In 1966 C. A. R. Hoare introduced the concept of record class construct, which Dahl and Nygaard extended with the concept of prefixing and other features to meet their requirements for a generalized process concept. Dahl and Nygaard presented their paper on Class and Subclass declarations at the IFIP Working Conference on simulation languages in Oslo, May 1967. This paper became the first formal definition of Simula 67. In June 1967 a conference was held to standardize the language and initiate a number of implementations. Dahl proposed to unify the type and the class concept. This led to serious discussions, and the proposal was rejected by the board. SIMULA 67 was formally standardized on the first meeting of the SIMULA Standards Group (SSG) in February 1968.

Simula was influential in the development of Smalltalk and later object-oriented programming languages. It also helped inspire the actor model of concurrent computation although Simula only supports coroutines and not true concurrency.[citation needed]

In the late sixties and the early seventies there were four main implementations of Simula:

These implementations were ported to a wide range of platforms. The TOPS-10 implemented the concept of public, protected, and private member variables and procedures, that later was integrated into Simula 87. Simula 87 is the latest standard and is ported to a wide range of platforms. There are mainly three implementations:

  • Simula AS
  • Lund Simula
  • GNU Cim[5]

In November 2001 Dahl and Nygaard were awarded the IEEE John von Neumann Medal by the Institute of Electrical and Electronic Engineers "For the introduction of the concepts underlying object-oriented programming through the design and implementation of SIMULA 67". In April 2002 they received the 2001 A. M. Turing Award by the Association for Computing Machinery (ACM), with the citation: "For ideas fundamental to the emergence of object oriented programming, through their design of the programming languages Simula I and Simula 67." Unfortunately neither Dahl nor Nygaard could make it to the ACM Turing Award Lecture,[6] scheduled to be delivered at the November 2002 OOPSLA conference in Seattle, as they died in June and August of that year, respectively.[7]

Simula Research Laboratory is a research institute named after the Simula language, and Nygaard held a part-time position there from the opening in 2001. The new Computer Science building at the University of Oslo is named Ole Johan Dahl's House, in Dahl's honour, and the main auditorium is named Simula.

Simula is still used for various types of university courses, for instance, Jarek Sklenar teaches Simula to students at University of Malta.[8]

Sample code[edit]

Minimal program[edit]

The empty computer file is the minimal program in Simula, measured by the size of the source code. It consists of one thing only; a dummy statement.

However, the minimal program is more conveniently represented as an empty block:

Begin
End;

It begins executing and immediately terminates. The language does not have any return value from the program itself.

Classic Hello world[edit]

An example of a Hello world program in Simula:

Begin
   OutText ("Hello World!");
   Outimage;
End;

Simula is case-insensitive.

Classes, subclasses and virtual procedures[edit]

A more realistic example with use of classes,[1]:1.3.3, 2 subclasses[1]:2.2.1 and virtual procedures:[1]:2.2.3

Begin
   Class Glyph;
      Virtual: Procedure print Is Procedure print;
   Begin
   End;

   Glyph Class Char (c);
      Character c;
   Begin
      Procedure print;
        OutChar(c);
   End;

   Glyph Class Line (elements);
      Ref (Glyph) Array elements;
   Begin
      Procedure print;
      Begin
         Integer i;
         For i:= 1 Step 1 Until UpperBound (elements, 1) Do
            elements (i).print;
         OutImage;
      End;
   End;

   Ref (Glyph) rg;
   Ref (Glyph) Array rgs (1 : 4);

   ! Main program;
   rgs (1):- New Char ('A');
   rgs (2):- New Char ('b');
   rgs (3):- New Char ('b');
   rgs (4):- New Char ('a');
   rg:- New Line (rgs);
   rg.print;
End;

The above example has one super class (Glyph) with two subclasses (Char and Line). There is one virtual procedure with two implementations. The execution starts by executing the main program. Simula does not have the concept of abstract classes since classes with pure virtual procedures can be instantiated. This means that in the above example all classes can be instantiated. Calling a pure virtual procedure will however produce a run-time error.

Call by name[edit]

Simula supports call by name[1]:8.2.3 so the Jensen's Device can easily be implemented. However, the default transmission mode for simple parameter is call by value, contrary to ALGOL which used call by name. The source code for the Jensen's Device must therefore specify call by name for the parameters when compiled by a Simula compiler.

Another much simpler example is the summation function which can be implemented as follows:

Real Procedure Sigma (k, m, n, u);
   Name k, u;
   Integer k, m, n; Real u;
Begin
   Real s;
   k:= m;
   While k <= n Do Begin s:= s + u; k:= k + 1; End;
   Sigma:= s;
End;

The above code uses call by name for the controlling variable (k) and the expression (u). This allows the controlling variable to be used in the expression.

Note that the Simula standard allows for certain restrictions on the controlling variable in a for loop. The above code therefore uses a while loop for maximum portability.

The following:

can then be implemented as follows:

Z:= Sigma (i, 1, 100, 1 / (i + a) ** 2);

Simulation[edit]

Simula includes a simulation[1]:14.2 package for doing discrete event simulations. This simulation package is based on Simula's object oriented features and its coroutine[1]:9.2 concept.

Sam, Sally, and Andy are shopping for clothes. They have to share one fitting room. Each one of them is browsing the store for about 12 minutes and then uses the fitting room exclusively for about three minutes, each following a normal distribution. A simulation of their fitting room experience is as follows:

Simulation Begin
   Class FittingRoom; Begin
      Ref (Head) door;
      Boolean inUse;
      Procedure request; Begin
         If inUse Then Begin
             Wait (door);
             door.First.Out;
         End;
         inUse:= True;
      End;
      Procedure leave; Begin
         inUse:= False;
         Activate door.First;
      End;
      door:- New Head;
   End;
  
   Procedure report (message); Text message; Begin
      OutFix (Time, 2, 0); OutText (": " & message); OutImage;
   End;

   Process Class Person (pname); Text pname; Begin
      While True Do Begin
         Hold (Normal (12, 4, u));
         report  (pname & " is requesting the fitting room");
         fittingroom1.request;
         report (pname & " has entered the fitting room");
         Hold (Normal (3, 1, u));
         fittingroom1.leave;
         report (pname & " has left the fitting room");
      End;
   End;

   Integer u;
   Ref (FittingRoom) fittingRoom1;

   fittingRoom1:- New FittingRoom;
   Activate New Person ("Sam");
   Activate New Person ("Sally");
   Activate New Person ("Andy");
   Hold (100);
End;

The main block is prefixed with Simulation for enabling simulation. The simulation package can be used on any block and simulations can even be nested when simulating someone doing simulations.

The fitting room object uses a queue (door) for getting access to the fitting room. When someone requests the fitting room and it's in use they must wait in this queue (Wait (door)). When someone leaves the fitting room the first one (if any) is released from the queue (Activate door.first) and accordingly removed from the door queue (door.First.Out).

Person is a subclass of Process and its activity is described using hold (time for browsing the store and time spent in the fitting room) and calls procedures in the fitting room object for requesting and leaving the fitting room.

The main program creates all the objects and activates all the person objects to put them into the event queue. The main program holds for 100 minutes of simulated time before the program terminates.

See also[edit]

  • BETA, a modern successor to Simula

Notes[edit]

  1. ^ a b c d e f g h i j k l m n Dahl, Ole-Johan; Myhrhaug, Bjørn & Nygaard, Kristen (1970). "Common Base Language, Norwegian Computing Center". 
  2. ^ Wong, William. "Before C, What Did You Use?". Electronic Design. Retrieved 22 May 2017. 
  3. ^ Holmevik, Jan Rune (1994). "Compiling Simula: A historical study of technological genesis" (PDF). IEEE Annals of the History of Computing. 16 (4): 25–37. doi:10.1109/85.329756. Retrieved 12 May 2010. 
  4. ^ Holmevik, Jan Rune. "Compiling Simula". Oslo, Norway: Institute for Studies in Research and Higher Education. Archived from the original on 20 April 2009. Retrieved 19 April 2017. 
  5. ^ "GNU Cim". 
  6. ^ "ACM Turing Award Lectures". Informatik.uni-trier.de. Retrieved 14 January 2012. 
  7. ^ "ACM Ole-Johan Dahl and Kristen Nygaard - Obituary". Acm.org. Retrieved 14 January 2012. 
  8. ^ "Jarek Sklenar Web Page". Staff.um.edu.mt. Retrieved 14 January 2012. 

Sources[edit]

Further reading[edit]

External links[edit]

Disclaimer

None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.

All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.

The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.

Powered by YouTube
Wikipedia content is licensed under the GFDL and (CC) license