Объектно-ориентированные языки програмирования
й.
Поставщики
Первая реализации на 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.
2.2. SMALLTALK
Smalltalk до последнего времени был наиболее предпочтительным языком
при экспериментировании в технологии объектно-ориентированного
программирования. В последние годы появился дешевый компилятор C++ для
персоналок, который нарушил баланс в сторону C++ среди первых пользователей
объектно-ориентированных систем. Smalltalk был разработан на фирме Xerox
PARC в результате исследовательского проекта, воплотив в себе ряд идей о
том, как человек может использовать компьютер наилучшим образом. Сюда
относились использование персональных рабочих станций, интерактивных сред,
графических интерфейсов, мыши и объектно-ориентированного программирования.
Каждая из этих идей сама по себе имела большое значение, как внутри фирмы,
так и во всей компьютерной индустрии. В 80-х гг. соединение этих мощных
идей в языке и системе Smalltalk-80 было несоразмерно с малым числом
фактических пользователей.
Язык
Основной чертой языка Smalltalk является его универсальность. История
языка характеризуется тремя признаками:
- данные хранятся как объекты, которые освобождаются автоматически;
- выполнение действий осуществляется через посылку сообщений
объектам;
- поведение объектов описано в классах.
В языке все является объектом. Все взаимодействия объектов
осуществляются через посылки сообщений, даже сложение целых чисел: 1 +2. В
этом языке 1 - это экземпляр класса целых чисел, + - имя метода, 2-
аргумент. Объект 1 получает сообщение + 2 и возвращает результат
3.Состоятельность такого подхода гарантирует краткость языка и простой
синтаксис. Но из-за этого увеличивается цена накладных расходов на
посылку сообщений: связывание производится целиком во время работы
программы. Автоматическая сборка мусора тоже вызывает проблемы
быстродействия. Smalltalk не поддерживает множественное наследование.
С другой стороны, Smalltalk-80 совсем не маленький язык. Существует
большая библиотека классов: более 250 классов и более 2000 методов. Работа
с такой библиотекой составляет важную задачу при изучении языка, несмотря
на то, что для просмотра методов и классов существуют специальные средства.
Среда
Smalltalk-80 тесно связан с развитой средой программирования.
Пользовательский интерфейс состоит из набора экранных образов: это
прямоугольные области, содержащие текст или графику, которые можно
перемещать по экрану, изменять в размере, заменять меткой или закрывать.
Образы могут перекрываться полностью или частично. Взаимодействие с
системой осуществляется с помощью трехкнопочной мыши или с клавиатуры.
Визуальные объекты для пользователя - это курсоры, высвечивание, меню,
полоски сдвига и рамки с подсказкой.
Основные компоненты системы активизируются внутри экранных образов.
Сюда
входят текстовый редактор, редактор формы и битовый редактор для создания
рисунков, инспектор для проверки переменных объекта, окно просмотра системы
для изучения классов и сообщений, метки окна для описания прерванного
процесса и отладчики.
Smalltalk был разработан для индивидуальной работы программиста на
персональной рабочей станции. Таким образом, эта система первоначально была
доступна только как однопользовательская. Сейчас в ней уже есть средства
поддержки коллективов программистов.
Поставщики
В 1981-82 гг. четырем фирмам предлагалось реализовать Smalltalk на
своей аппаратуре. После этого эксперимента Smalltalk поставлялся
университетам и исследовательским институтам как продукт без сопровождения.
Кроме того, был выпущен ряд книг по языку и его реализации. Однако, язык не
был запатентован фирмой Xerox вплоть до 1986 г. Эта фирма до сих пор
контролирует рынок Smalltalk-80 с помощью отделения SIS и фирмы ParcPlace
Systems. Другие продавцы имеют лицензию на продукт и его различные
реализации. Исключением является фирма Digitalk, выпустившая свою
собственную версию для PC - Smalltalk/V. В таблице С2.2 приведены доступные
в настоящее время продукты Smalltalk.
Таблица C2.2 Продавцы и продукты языка Smalltalk
|Продукт |Платформа |Продавец |
|Smalltalk-80 |DEC Station 3100 под Ultrix |ParcPlace systems |
| |PC 80386 под MS-DOS | |
| |Sun-3, 4, 386i | |
| |Apple Macintosh II, Plus и SE | |
| |HP 9000 series 300 | |
| |Apollo Series 3000, 4000 | |
| |Apollo DN570, 580, 590 | |
|Smalltalk-80 |Tektronix 4315 |Tektronix |
|Color Smalltalk-80|Tektronix 4316, 17 и 19 |Tektronix |
|Smalltalk-80 |Xerox 8010/1108 и 6085/1186 |Xerox SIS |
|Smalltalk/V |IBM PC/XT/AT под MS-DOS |Digitalk |
|Smalltalk/V 286 |286 и 386 PC под MS-DOS |Digitalk |
|Smalltalk/V Mac |Apple Macintosh II, PLUS и SE |Digitalk |
Будущее языка Smalltalk волнует как пользователей, так и поставщиков. В
августе 1987 г. была организована ассоциация разработчиков и прикладных
пользователей Smalltalk - OOPSTAD. Она публикует новости HOOPLA (Hooray for
Object-Oriented Languages). Работу по стандартизации взял на себя IEEE
Microprocessor Standards Committee (P1152). Основное внимание он уделяет
языку и базовым классам типа Number и Collection. Основные поставщики и ряд
консультантов сформировали Консорциум Smalltalk в целях развития применения
языка и среды и управления их технической эволюцией. Он является открытым
для отдельных пользователей и корпораций.
2.3. ПРОДУКТЫ, ОСНОВАННЫЕ НА ЯЗЫКЕ СИ
В настоящее время объектно-ориентированные языки стремятся приблизиться
к традиционным языкам (в основном к языку Си). Для этого есть ряд причин:
- уже можно воспользоваться накопленным опытом программирования;
- интерфейсы существующих систем намного проще;
- язык более приемлем в области управления;
- поставка может быть осуществлена на стандартных платформах;
- гарантия переносимости между платформами.
Наибольшим потенциалом для больших коммерческих организаций обладает
язык C++ фирмы AT&T. Хотя он и не имеет пока большого количества средств
сопровождения, некоторые коммерческие организации уже работают над
созданием сред развития языка, а другие разрабатывают дополнительные
инструменты и библиотеки классов. Кроме того, несколько компаний
разработали языки и инструментальные средства, основанные на языке Си. В
таблице C2.3 подводятся итоги доступ
| | скачать работу |
Объектно-ориентированные языки програмирования |