Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Simula
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == The following account is based on Jan Rune Holmevik's historical essay.<ref> {{Cite journal | last = Holmevik | first = Jan Rune | title = Compiling Simula: A historical study of technological genesis | journal = IEEE Annals of the History of Computing | volume = 16 | issue = 4 | pages = 25–37 | year = 1994 | url = http://www.idi.ntnu.no/grupper/su/publ/simula/holmevik-simula-ieeeannals94.pdf | doi = 10.1109/85.329756 | s2cid = 18148999 | access-date = 12 May 2010}} </ref><ref>{{cite web |last=Holmevik |first=Jan Rune |url=http://heim.ifi.uio.no/~cim/sim_history.html |title=Compiling Simula |publisher=Institute for Studies in Research and Higher Education |location=Oslo, Norway |url-status=dead |archive-url=https://web.archive.org/web/20090420140846/http://heim.ifi.uio.no/~cim/sim_history.html |archive-date=20 April 2009 |access-date=19 April 2017}}</ref> [[Kristen Nygaard]] started writing computer simulation programs in 1957. Nygaard saw a need for a better way to describe the heterogeneity and the [[Instruction (computer science)|operation]] of a system. To go further with his ideas on a [[Formal language|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 in 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]] [[programming language|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]] in late May 1962 in connection with the marketing of their new [[UNIVAC 1107]] computer. At that visit, Nygaard presented the ideas of Simula to [[Bob Bemer|Robert Bemer]], the director of systems programming at [[Univac]]. Bemer was a great [[ALGOL]] fan and found the Simula project compelling. Bemer was also [[chairperson]] of a session at the second international conference on information processing hosted by [[International Federation for Information Processing]] (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]] in 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 few 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 other computers including the [[Burroughs large systems|Burroughs B5500]] and the Russian [[Ural (computer)|Ural-16]]. 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 (computer programming)|Class]] and [[Subclass (computer science)|Subclass]] declarations at the IFIP Working Conference on [[simulation language]]s 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 [[data type|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. [[Image:Pages from DECsystem-10 SIMULA Language Handbook.jpg|thumb|right|upright=0.67|Pages from the DECsystem-10 SIMULA Language Handbook, as published by the Swedish National Defence Research Institute]] 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 [[coroutine]]s and not true [[Concurrency (computer science)|concurrency]].<ref>{{Cite book |last=Lehrmann Madsen |first=Ole |chapter=Building Safe Concurrency Abstractions |title=Concurrent Objects and Beyond |series=Lecture Notes in Computer Science |publisher=Springer |year=2014 |volume=8665 |editor-last=Agha |editor-first=Gul |editor2-last=Igarashi |editor2-first=Atsushi |editor3-last=Kobayashi |editor3-first=Naoki |editor4-last=Masuhara |editor4-first=Hidehiko |editor5-last=Matsuoka |editor5-first=Satoshi |editor6-last=Shibayama |editor6-first=Etsuya |editor7-last=Taura |editor7-first=Kenjiro |location=Berlin |pages=68 |isbn=978-3-662-44471-9 |doi=10.1007/978-3-662-44471-9|s2cid=1000741 }}</ref> In the late sixties and the early seventies, there were four main implementations of Simula: * [[UNIVAC]] 1100 by [[Norwegian Computing Center]] (NCC) * [[System/360]] and [[System/370]] by NCC * [[CDC 3000]] by [[University of Oslo]]'s Joint Computer Installation at Kjeller * [[TOPS-10]] by [[Swedish National Defence Research Institute]] (FOA) 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 Standard in 1986. Simula Standard 1986 is the latest standard and is ported to a wide range of platforms. There are mainly four implementations: * Simula AS * Lund Simula * GNU Cim<ref>{{cite web |url=https://www.gnu.org/software/cim/ |title=GNU Cim}}</ref> * Portable Simula Revisited<ref>{{cite web |title=Portable Simula Revisited |url=https://portablesimula.github.io/github.io/ |website=GitHub |access-date=17 June 2019}}</ref> In November 2001, Dahl and Nygaard were awarded the [[IEEE John von Neumann Medal]] by the [[Institute of Electrical and Electronics 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." Dahl and Nygaard died in June and August of that year, respectively,<ref>{{cite web |url=http://www.acm.org/announcements/turing_obit.html |title=ACM Ole-Johan Dahl and Kristen Nygaard - Obituary |publisher=Acm.org |access-date=14 January 2012 |url-status=dead |archive-url=https://web.archive.org/web/20110719085543/http://www.acm.org/announcements/turing_obit.html |archive-date=19 July 2011}}</ref> before the ACM Turing Award Lecture<ref>{{cite web|url=http://www.informatik.uni-trier.de/~ley/db/journals/cacm/turing.html |title=ACM Turing Award Lectures |publisher=Informatik.uni-trier.de |access-date=14 January 2012}}</ref> that was scheduled to be delivered at the November 2002 [[OOPSLA]] conference in Seattle. [[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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)