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

С другой стороны, 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 подводятся итоги доступных продуктов, основанных на Си.

Таблица С2.3 Продавцы и продукты языков, основанных на Си

Продукт
Платформа
Продавец
Трансляторы C++
Advantage C++
IBM PC под MS-DOS, Xenix, Unix

Lifeboat

Designer C++
Macintosh II
Oasys
IBM PC под MS-DOS, OS/2
IBM RT
PC 80386 под Unix, Xenix
HP 9000/300 и 9000/800
NEC Astra
AT&T 3b2
DEC Vax под VMS и Ultrix
Sun-3, Sun-4
Glockenspiel C++
IBM PC под MS-DOS, OS/2

Glockenspiel

386/ix и Xenix
AT&T 3b2 под Sys V.2
HP 9000/300
Sun-3, Sun/386i
IBM RT под Sys V.2
Apollo
DEC Vax под Ultrix и VMS
Guidelines C++
IBM PC под MS-DOS
Guidelines
Компиляторы С ++
Oregon C++
Sun-3
Oregon
DEC Vax под Ultrix
PC 386 под Xenix
Zortech C++
IBM PC под MS-DOS
Zortech
Другие продукты, основанные на языке Си
C-talk
IBM-PC под MS-DOS
CNS
Macintosh
Complete C
IBM PC под MS-DOS, OS/2, Unix
Complete Computer Corporation
Objective C
Sun
Stepstone
DEC Vax
Apollo
HP 9000 series 200/300

2.3.1. C++

Язык

Язык С++ в основном является языком Си со специальными синтаксическими расширениями для определения и управления объектами. В нем был учтен ряд недостатков языка Си: теперь ведется проверка типов аргументов функций, можно производить макроподстановку функций. Также в него включены некоторые средства проекта стандарта Ansi C. По завершении стандарта C++ будет пересмотрен для удаления несовместимостей двух языков. Важной новой особенностью C++ является поддержка абстракции данных и объектно-ориентированного программирования. Абстракция данных поддерживается с помощью введения типов, определенных пользователем. Например, предположим, что есть новый тип данных shape, используемый в графической

системе. Этот тип определяется с помощью оператора class:

class shape {

point centre;

colour col;

// ... комментарий

public:

point where() {return centre; }

void move(point to)

{ centre = to; draw(); }

virtual void draw();

virtual void rotate(int);

К-во Просмотров: 228
Бесплатно скачать Реферат: Объектно-ориентированные языки програмирования