к библиотеке   к алгоритмизации   ЯиМП   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   технологии программирования  

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

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 31.05.2020 - 16:21: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
31.05.2020 - 16:19: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
31.05.2020 - 16:18: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Кирилла Мямлина - Карим_Хайдаров.
31.05.2020 - 10:44: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
31.05.2020 - 10:42: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Владимира Николаевича Боглаева - Карим_Хайдаров.
31.05.2020 - 08:28: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
31.05.2020 - 07:51: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
31.05.2020 - 07:50: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Владимира Васильевича Квачкова - Карим_Хайдаров.
30.05.2020 - 19:53: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Андрея Фурсова - Карим_Хайдаров.
30.05.2020 - 17:37: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ЗА НАМИ БЛЮДЯТ - Карим_Хайдаров.
30.05.2020 - 07:56: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
29.05.2020 - 20:10: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Пламена Паскова - Карим_Хайдаров.
Bourabai Research Institution home page

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