Симула

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Simula 67
Simula - logo.svg
Семантика объектно-ориентированный
Класс языка язык программирования, simulation language[d] и объектно-ориентированный язык программирования
Тип исполнения компиляция
Появился в 1967
Автор Кристен Нюгор и Оле-Йохан Даль
Разработчик Нюгорд, Кристен
Выпуск
Система типов статическая
Основные реализации Cim
Испытал влияние Algol-60
Повлиял на C++, BETA
ОС UNIX-подобные операционные системы, Microsoft Windows, z/OS, TOPS-10 и MVS
Commons-logo.svg Медиафайлы на Викискладе

Си́мула-67 (Simula 67) — язык программирования общего назначения, разработанный в конце 1960-х годов сотрудниками Норвежского вычислительного центра (Осло) Кристеном Нюгором и Оле-Йоханом Далем для моделирования сложных систем.

Симула традиционно не считается объектно-ориентированным языком в каноническом смысле этого слова, в частности, создатель языка Smalltalk Алан Кэй имел в виду под этим термином семантику акторов, впервые реализованную в языке Плэнер Карла Хьюитта, а не расширение алголоподобных языков «объектной» нотацией[1].

Стал первым языком со встроенной поддержкой основных синтаксических соглашений, принятых в современных языках объектно-ориентированного программирования. Считается, что язык в значительной степени опередил время, и программисты 1960-х годов оказались не готовы воспринять ценности языка, в связи с чем он не выдержал конкуренции с другими языками программирования. Прохладному отношению к языку способствовало и то обстоятельство, что его реализация была весьма неэффективна, не в последнюю очередь из-за использования сборки мусора.

Тем не менее, этот язык активно использовался в образовательном процессе в высших учебных заведениях, особенно в Скандинавии; о влиянии Симулы на разработку им C++ отмечал его автор — Страуструп (в том числе в книге «Дизайн и эволюция C++»).

В современной терминологии язык можно охарактеризовать как объектное расширение Алгола 60. Конструкции языка очень сходны с аналогичными в современных объектно-ориентированных языках.

Программа «Hello, World»:

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

Примечания[править | править код]

  1. Alan Kay's Definition Of Object Oriented Programming. Дата обращения 24 января 2014. Архивировано 13 августа 2013 года. «I invented the term object-oriented, and I can tell you that C++ wasn’t what I had in mind»

Ссылки[править | править код]