Объектно-ориентированные языки програмирования
Рефераты >> Программирование и компьютеры >> Объектно-ориентированные языки програмирования

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

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

Наиболее используемыми в настоящее время объектно-ориентированными языками являются Паскаль с объектами и Си++, причем наиболее развитые средства для работы с объектами содержатся в Си++.

II. Объектно-ориентированные языки программирования.

2.1. SIMULA 67

Все объектно-ориентированные языки происходят от языка Симула, разработанного в начале 60-х гг. в Norwegian Computing Centre. Синтаксис языка взят из Алгола-60. Основными новшествами были понятия объекта, класса и наследования. Симула не навязывает строгую инкапсуляцию данных и не заботится о деталях реализации. Модули можно перекомпилировать по отдельности, не меняя внешние интерфейсы. Проверка типов осуществляется во время компиляции. Сборка мусора осуществляется системой поддержки работающей программы.

Объекты могут действовать независимо друг от друга, предоставляя возможность выполнения квазипараллельных вычислений. Действие объекта можно приостановить и возобновить позже. Встроенные классы добавляют в язык средства работы со списками, графику и моделирование дискретных событий.

Среда

Переносимая система Simula (S-Port) содержит независимый пакет, состоящий из компилятора, генерирующего промежуточный язык S-code, систему поддержки работающей программы и символьного отладчика. Также есть система, зависимая от целевой машины, содержащая компилятор, транслирующий S-code в целевой код, и набор программ интерфейса. Планируется создать дополнительные средства и библиотеку предопределенных модулей.

Поставщики

Первая реализации на Univac 1107 появилась в начале 70-х гг. С этих пор язык был реализован на большинстве платформ, от больших ЭВМ до персоналок. В настоящее время Simula развивается и выступает на рынке под названием Simula a.s., установленным норвежской фирмой в 1984 г.

Переносимая система Simula (S-Port) - является основой многочисленных версий, включая PC Simula. В табл. С2.1 приводятся основные реализации и поставщики. Системы DEC, Univac и IBM установлены в более, чем 300 точках Европы и Северной Америки.

Таблица С2.1а. Реализации языка Simula

Платформа

Поставщик

CDC 3300

Academy of Sciences, Budapest

CDC Cyber

Control Data a.s., Oslo, Norway

Cromemco под Cromix

Omnibus a.s., Sweden

Data General Eclipse

Lund Software, Sweden

DEC 10/20

Stockholm Computing Centre QZ, Sweden

IBM 370

Simula a.s., Oslo, Norway

ND 10/100

Norsk Data, Oslo, Norway

Siemens 75xx под BS2000/3000

Simula a.s., Oslo, Norway

Таблица С2.1b. Реализации переносимых систем Simula

Платформа

Поставщик

Apollo

Simprog AB, Stockholm, Sweden

HP 900/300

Simprog AB, Stockholm, Sweden

IBM PC/XT (AT)

Simula a.s., Oslo, Norway

ICL 2900

University of Edinburgh, Scotland

Mach-S

Simulation Technology, Oslo, Norway

Masscomp

Simprog AB, Stockholm, Sweden

ND 500

Norsk Data, Oslo, Norway

Prime

Prime Scandinavia, Stockholm, Sweden

Sperry 1100

Unisys Corp., USA

Sun

Simprog AB, Stockholm, Sweden

Vax под Unix

Simprog AB, Stockholm, Sweden

Vax под Ultrix

Simprog AB, Stockholm, Sweden

Vax под VMS

Stockholm Computing Centre QZ, Sweden

Сформированная в 1972 г. организация Simula Standards Group осуществляет контроль за развитием языка: самая последняя версия была выпущена в 1986г. Изменения в язык вносит Simula Developement Group. Кроме того, есть ассоциация пользователей языка Simula.


Страница: