к библиотеке   к алгоритмизации   ЯиМП   3GL - языки выс. уровня   4GL - визуальные среды   5GL   технологии программирования  

Язык программирования Simula (Симула)

Simula - предшественник языка программирования Smalltalk.

Язык программирования Simula был предназначен для моделирования и потребностей этой области, именно он послужил основой для многих из особенностей объектно-ориентированных языков сегодня. Язык программирования Симула был разработан в 1960-х годах в норвежском вычислительном центре в Осло , авторство принадлежит в первую очередь Ole-Johan Dahl и Kristen Nygaard. Он напоминает Algol 60 в очень многом и, вероятно, был разработан на его основе. Программирование для начинающих. Он добавляет такие функции, которые почти похожи на современное представление о классах и объектах . Он также добавляет сопрограммы . Хотя Simula до сих пор используется, но очень мало для серьезной работы. Однако, справедливости ради, нужно сказать, что его исторического влияние более важно, чем те программы, которые фактически пишутся на этом языке.

Преемник Симула по имени BETA был создан, но используется даже намного меньше, чем его родитель. Cимула (от SIMUIation LAnguage, т.е. язык моделирования специальный язык программирования, облегчающий доведение модели реальной системы до готовой компьютерной программы) семейство языков программирования, разработанных в Норвегии. Широкую известность и распространение получили языки Симула-1 и Симула-67. Они базируются на Алголе-60 и содержат его в качестве своего подмножества.

Язык Симула-1, появившийся в 1964 году, создан У.Далом и К.Нюгордом. Предназначен для моделирования систем с так называемыми дискретными событиями (например, систем массового обслуживания). Термин моделирование У.Дал определил в 1966 году как "процесс представления динамической системы моделью для получения информации об этой системе путем проведения экспериментов над моделью".

Цели, которые ставили перед собой разработчики, сводились к следующим: "предоставить в распоряжение исследователя, строящего модель системы, концептуальную основу для ясного и четкого мышления; предоставить средства для описания динамических моделей; облегчить процесс программирования".

Фундаментальным понятием языка Симула-1 является процесс, а главную роль играют параллельно функционирующие процессы, которые выступают в качестве компонентов моделируемой системы. Они имеют свои атрибуты (структуру данных) и программу действий (алгоритм). В каждый момент времени активен только один процесс. Исполняя свою программу, он может использовать свои и чужие атрибуты, порождать новые процессы, планировать для себя и других процессов события новые фазы активности (употребляя "встроенное" в язык понятие дискретного времени), приостановить себя. Для всего этого в языке имеются планирующие и управляющие операторы.

В 1967-1968 годах авторы Симулы-1 и присоединившийся к ним Б. Мюрхауг создали Симулу-67. Как утверждает Е.Киндлер, данный язык по своей "универсальности" ближе к таким языкам, как Алгол-68 и Ада, чем к языкам моделирования. Однако следует отметить, что все средства Симулы-1 являются частью языка Симула-67 и их можно использовать при помощи так называемого стандартного класса SIMULATION (моделирование).

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

Simula-67 явилась первым языком с встроенной поддержкой основных механизмов объектно-ориентированного программирования. Этот язык в значительной степени опередил своё время, современники (программисты 60-х годов) оказались не готовы воспринять ценности языка Simula 67, и он не выдержал конкуренции с другими языками программирования (прежде всего, с языком Fortran). Прохладному отношению к языку Simula-67 способствовало и то обстоятельство, что его реализация была весьма неэффективна, не в последнюю очередь из-за использования сборки мусора.

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

В современной терминологии Simula-67 можно охарактеризовать как объектное расширение Algol 60. Более всего в Simula-67 поражает сходство с современными языками: пожалуй, единственными существенными пробелами по сравнению с Java являются отсутствие интерфейсов и невозможность для объекта иметь более одного конструктора.

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

Установление в языке таких понятий, как класс, подкласс и некоторых других, позволяет использовать его в качестве основы для построения специализированных языков, ориентированных на различные предметные области (проблемно-ориентированных языков). Одним из преимуществ языка по сравнению с базовым предшественником является наличие удобных средств ввода и вывода.

Идеи, заложенные в языке Симула-67, оказали существенное влияние на языки программирования, которые появились позже. В частности, понятие класс нашло свое воплощение в понятии абстрактные типы данных, а понятие объект в объектно-ориентированном программировании, хотя при разработке Симулы не ставилась цель создать объектно-ориентированный язык. (Объектно-ориентированное программирование утвердило свой статус в языке Смол-ток.) Средствами Симулы-67, помимо языков моделирования, описаны языки работы с базами данных, машинной графики и некоторые другие.

В 1968 году У. Дал охарактеризовал язык так: "С помощью языка Симула-67 и вместе с ним языки моделирования влияют на основы математики. Язык Симула-67 выходит за традиционные рамки языков программирования и может служить основой, на которой строятся различные математические и естественно-научные теории от геометрии и алгебры до химической технологии и сельского хозяйства, даже в тех случаях, когда речь идет не об имитации и программировании, а лишь о получении количественной информации".

В СССР Симула-1 был реализован на машинах "Урал-14" и БЭСМ-6, а Симула-67 — на БЭСМ-6, в моделях ЕС ЭВМ, в системах "Эльбрус-1" и "Эльбрус-2".

к библиотеке   к алгоритмизации   ЯиМП   3GL - языки выс. уровня   4GL - визуальные среды   5GL   технологии программирования  

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

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 14.09.2019 - 18:23: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
13.09.2019 - 09:08: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
12.09.2019 - 17:47: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
12.09.2019 - 16:47: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вячеслава Осиевского - Карим_Хайдаров.
12.09.2019 - 13:10: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
12.09.2019 - 13:03: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
08.09.2019 - 03:42: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от О.Н. Четвериковой - Карим_Хайдаров.
07.09.2019 - 07:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Декларация Академической Свободы - Карим_Хайдаров.
07.09.2019 - 03:18: ЭКОЛОГИЯ - Ecology -> Проблема ГМО - Карим_Хайдаров.
05.09.2019 - 13:33: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
05.09.2019 - 13:31: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вячеслава Негребы - Карим_Хайдаров.
01.09.2019 - 18:04: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Светланы Вислобоковой - Карим_Хайдаров.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution