<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B8%D0%BC%D1%83%D0%BB%D0%B0</id>
	<title>Симула - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B8%D0%BC%D1%83%D0%BB%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%A1%D0%B8%D0%BC%D1%83%D0%BB%D0%B0&amp;action=history"/>
	<updated>2026-07-16T14:14:11Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%A1%D0%B8%D0%BC%D1%83%D0%BB%D0%B0&amp;diff=28635&amp;oldid=prev</id>
		<title>imported&gt;DenisKrivosheev в 17:36, 31 декабря 2025</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%A1%D0%B8%D0%BC%D1%83%D0%BB%D0%B0&amp;diff=28635&amp;oldid=prev"/>
		<updated>2025-12-31T17:36:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Язык программирования&lt;br /&gt;
 | название             = Simula&lt;br /&gt;
 | логотип              = Simula - logo.svg&lt;br /&gt;
 | семантика            =&lt;br /&gt;
 | класс                = [[Мультипарадигменное программирование|Мультипарадигменный]]: [[Процедурное программирование|процедурный]], [[Императивное программирование|императивный]], [[Структурное программирование|структурный]], [[Объектно-ориентированное программирование|объектно-ориентированный]]&lt;br /&gt;
 | тип                  =&lt;br /&gt;
 | дата выпуска         = {{Start date and age|1962}}&lt;br /&gt;
 | автор                = [[Даль, Оле-Йохан|Оле-Йохан Даль]]&lt;br /&gt;
 | разработчик          = [[Нюгор, Кристен|Кристен Нюгор]]&lt;br /&gt;
 | расширение           =&lt;br /&gt;
 | последняя версия     = Simula 67, Simula I&lt;br /&gt;
 | дата выпуска последней версии          =&lt;br /&gt;
 | последняя тестовая версия              =&lt;br /&gt;
 | дата выпуска последней тестовой версии =&lt;br /&gt;
 | система типов        = [[Статическая типизация|Статическая]], [[Номинальная типизация|номинальная]]&lt;br /&gt;
 | реализации           =&lt;br /&gt;
 | диалекты             =&lt;br /&gt;
 | испытал влияние      = [[Алгол|Алгол 60]], [[SIMSCRIPT]]&lt;br /&gt;
 | повлиял на           = [[BETA]], [[Клу]], [[Eiffel]], [[Emerald (язык программирования)|Emerald]], [[Паскаль (язык программирования)|Паскаль]], [[Smalltalk]], [[C++]], и многие другие [[Объектно-ориентированный язык программирования|объектно-ориентированные языки программирования]]&lt;br /&gt;
 | лицензия             =&lt;br /&gt;
 | платформа            =&lt;br /&gt;
 | операционная система = [[Unix-подобная операционная система|Unix-подобные]], [[Windows]], [[z/OS]], [[TOPS-10]], [[MVS]]&lt;br /&gt;
 | сайт                 = {{URL|www.simula67.info}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Си́мула-67&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Simula 67&amp;#039;&amp;#039;) — [[язык программирования]] общего назначения, разработанный в конце 1960-х годов сотрудниками [[Норвежский вычислительный центр|Норвежского вычислительного центра]] ([[Осло]]) [[Нюгор, Кристен|Кристеном Нюгором]] и [[Даль, Оле-Йохан|Оле-Йоханом Далем]] для [[Моделирование|моделирования]] [[Сложная система|сложных систем]].&lt;br /&gt;
&lt;br /&gt;
Симула традиционно не считается [[Объектно-ориентированное программирование|объектно-ориентированным]] языком в каноническом смысле этого слова, в частности, создатель языка [[Smalltalk]] [[Кэй, Алан Кёртис|Алан Кэй]] имел в виду под этим термином семантику акторов, впервые реализованную в языке [[Плэнер]] Карла Хьюитта, а не расширение алголоподобных языков «объектной» нотацией&amp;lt;ref name=&amp;quot;alankay&amp;quot;&amp;gt;{{cite web|url=http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|title=Alan Kay&amp;#039;s Definition Of Object Oriented Programming|lang=en|archive-url=https://web.archive.org/web/20180126150020/http://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented|archive-date=2018-01-26|access-date=2024-07-17|url-status=live}} &amp;#039;&amp;#039;«I invented the term object-oriented, and I can tell you that C++ wasn’t what I had in mind»&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стал первым языком со встроенной поддержкой основных синтаксических соглашений, принятых в современных языках объектно-ориентированного программирования. Считается, что язык в значительной степени опередил время, и программисты 1960-х годов оказались не готовы воспринять ценности языка, в связи с чем он не выдержал конкуренции с другими языками программирования. Прохладному отношению к языку способствовало и то обстоятельство, что его реализация была весьма неэффективна, не в последнюю очередь из-за использования [[сборка мусора (программирование)|сборки мусора]].&lt;br /&gt;
&lt;br /&gt;
Тем не менее, этот язык активно использовался в образовательном процессе в высших учебных заведениях, особенно в Скандинавии; о влиянии Симулы на разработку им [[C++]] отмечал его автор — [[Страуструп, Бьёрн|Страуструп]] (в том числе в книге «[[Дизайн и эволюция C++]]»).&lt;br /&gt;
&lt;br /&gt;
В современной терминологии язык можно охарактеризовать как объектное расширение [[Алгол]]а 60. Конструкции языка очень сходны с аналогичными в современных объектно-ориентированных языках.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
=== Минимальная программа ===&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
=== Hello, World ===&lt;br /&gt;
Программа «[[Hello, World]]»:&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;OutText&amp;#039;&amp;#039;&amp;#039; (&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Outimage&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
=== Классы, подклассы и виртуальные процедуры ===&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Class&amp;#039;&amp;#039;&amp;#039; Glyph;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Virtual&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; print &amp;#039;&amp;#039;&amp;#039;Is&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; print;;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    Glyph &amp;#039;&amp;#039;&amp;#039;Class&amp;#039;&amp;#039;&amp;#039; Char (c);&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Character&amp;#039;&amp;#039;&amp;#039; c;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; print;&lt;br /&gt;
         OutChar(c);&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    Glyph &amp;#039;&amp;#039;&amp;#039;Class&amp;#039;&amp;#039;&amp;#039; Line (elements);&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Ref&amp;#039;&amp;#039;&amp;#039; (Glyph) &amp;#039;&amp;#039;&amp;#039;Array&amp;#039;&amp;#039;&amp;#039; elements;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; print;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
          &amp;#039;&amp;#039;&amp;#039;Integer&amp;#039;&amp;#039;&amp;#039; i;&lt;br /&gt;
          &amp;#039;&amp;#039;&amp;#039;For&amp;#039;&amp;#039;&amp;#039; i:= 1 &amp;#039;&amp;#039;&amp;#039;Step&amp;#039;&amp;#039;&amp;#039; 1 &amp;#039;&amp;#039;&amp;#039;Until&amp;#039;&amp;#039;&amp;#039; UpperBound (elements, 1) &amp;#039;&amp;#039;&amp;#039;Do&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
             elements (i).print;&lt;br /&gt;
          OutImage;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Ref&amp;#039;&amp;#039;&amp;#039; (Glyph) rg;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Ref&amp;#039;&amp;#039;&amp;#039; (Glyph) &amp;#039;&amp;#039;&amp;#039;Array&amp;#039;&amp;#039;&amp;#039; rgs (1 : 4);&lt;br /&gt;
    &lt;br /&gt;
    &amp;#039;&amp;#039;! Main program;&amp;#039;&amp;#039;&lt;br /&gt;
    rgs (1):- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Char (&amp;#039;A&amp;#039;);&lt;br /&gt;
    rgs (2):- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Char (&amp;#039;b&amp;#039;);&lt;br /&gt;
    rgs (3):- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Char (&amp;#039;b&amp;#039;);&lt;br /&gt;
    rgs (4):- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Char (&amp;#039;a&amp;#039;);&lt;br /&gt;
    rg:- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Line (rgs);&lt;br /&gt;
    rg.print;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
===[[Стратегия вычисления#Вызов по имени|Вызов по имени]]===&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Real&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; Sigma (k, m, n, u);&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039; k, u;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Integer&amp;#039;&amp;#039;&amp;#039; k, m, n; &amp;#039;&amp;#039;&amp;#039;Real&amp;#039;&amp;#039;&amp;#039; u;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Real&amp;#039;&amp;#039;&amp;#039; s;&lt;br /&gt;
    k:= m;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;While&amp;#039;&amp;#039;&amp;#039; k &amp;lt;= n &amp;#039;&amp;#039;&amp;#039;Do&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039; s:= s + u; k:= k + 1; &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    Sigma:= s;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
=== Симуляция ===&lt;br /&gt;
 Simulation &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Class&amp;#039;&amp;#039;&amp;#039; FittingRoom; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Ref&amp;#039;&amp;#039;&amp;#039; (Head) door;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Boolean&amp;#039;&amp;#039;&amp;#039; inUse;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; request; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
          &amp;#039;&amp;#039;&amp;#039;If&amp;#039;&amp;#039;&amp;#039; inUse &amp;#039;&amp;#039;&amp;#039;Then&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
              Wait (door);&lt;br /&gt;
              door.First.Out;&lt;br /&gt;
          &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
          inUse:= &amp;#039;&amp;#039;&amp;#039;True&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; leave; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
          inUse:= &amp;#039;&amp;#039;&amp;#039;False&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
          &amp;#039;&amp;#039;&amp;#039;Activate&amp;#039;&amp;#039;&amp;#039; door.First;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
       door:- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Head;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Procedure&amp;#039;&amp;#039;&amp;#039; report (message); &amp;#039;&amp;#039;&amp;#039;Text&amp;#039;&amp;#039;&amp;#039; message; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       OutFix (Time, 2, 0); OutText (&amp;quot;: &amp;quot; &amp;amp; message); OutImage;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    Process &amp;#039;&amp;#039;&amp;#039;Class&amp;#039;&amp;#039;&amp;#039; Person (pname); &amp;#039;&amp;#039;&amp;#039;Text&amp;#039;&amp;#039;&amp;#039; pname; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;While&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;True&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Do&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Begin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
          Hold (Normal (12, 4, u));&lt;br /&gt;
          report  (pname &amp;amp; &amp;quot; is requesting the fitting room&amp;quot;);&lt;br /&gt;
          fittingroom1.request;&lt;br /&gt;
          report (pname &amp;amp; &amp;quot; has entered the fitting room&amp;quot;);&lt;br /&gt;
          Hold (Normal (3, 1, u));&lt;br /&gt;
          fittingroom1.leave;&lt;br /&gt;
          report (pname &amp;amp; &amp;quot; has left the fitting room&amp;quot;);&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Integer&amp;#039;&amp;#039;&amp;#039; u;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Ref&amp;#039;&amp;#039;&amp;#039; (FittingRoom) fittingRoom1;&lt;br /&gt;
    &lt;br /&gt;
    fittingRoom1:- &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; FittingRoom;&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Activate&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Person (&amp;quot;Sam&amp;quot;);&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Activate&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Person (&amp;quot;Sally&amp;quot;);&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Activate&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; Person (&amp;quot;Andy&amp;quot;);&lt;br /&gt;
    Hold (100);&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html] — Страничка Кристена Нюгора ([http://web.archive.org/web/20100105085104/http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html Архив]{{ref|en}}).&lt;br /&gt;
* [http://www.iro.umontreal.ca/~simula/ www.iro.umontreal.ca/~simula] — раздел посвящённый Симуле-67 на сайте [[Монреальский университет|Монреальского университета]].&lt;br /&gt;
* [http://staff.um.edu.mt/jskl1/talk.html staff.um.edu.mt/jskl1/talk.html] — Introduction To OOP In Simula&lt;br /&gt;
* [http://www.volny.cz/petr-novak/cim/ www.volny.cz/petr-novak/cim] — Cim 3.33 for MS Windows — компилятор Симулы c [[GPL]] лицензией.&lt;br /&gt;
&lt;br /&gt;
{{Объектно-ориентированные языки}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Объектно-ориентированные языки программирования]]&lt;br /&gt;
[[Категория:Свободные компиляторы и интерпретаторы]]&lt;br /&gt;
[[Категория:Языки программирования семейства Алгола]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DenisKrivosheev</name></author>
	</entry>
</feed>