2.3.3 ДРУГИЕ ПРОДУКТЫ, ОСНОВАННЫЕ НА СИ


C-talk

C-talk - это запатентованный язык для MS-DOS и Apple Macintosh, созданный отделом программных продуктов фирмы CNS Inc, специализирующейся на продуктах диагностики для медицины. Синтаксис языка основан на Си с дополнительными конструкциями, поддерживающими классы и методы, наследование и посылку сообщений. Предоставляется набор основных классов для структур данных типа Buffer, Stream и ByteArray. Он поставляется в виде пакета, содержащего препроцессор для преобразования файлов на C-talk в исходные тексты на Си, и среды программирования, называемой C-talk Browser, основанной на оконном интерфейсе. Существуют средства редактирования файлов и просмотра классов и методов.

Complete C

Complete Computer Corporation, New York работает над созданием объектно - ориентированной среды разработки программ, называемой Complete C. Она состоит из прекомпилятора, генерирующего стандартный Ansi С из объектно-ориентированного Си, набора инструментов (отладчика, компоновщика, генератора документов) и библиотеки основных классов. Complete C работает под MS-DOS, OS/2 и Unix.

2.4. ПРОДУКТЫ, ОСНОВАННЫЕ НА ЛИСПЕ


Объектно-ориентированные расширения Лиспа предназначены в основном для сообщества исследователей искусственного интеллекта. Некоторые из этих расширений были первоначально созданы в университетах. Лидерами являются две самостоятельные версии: New Flavors, разработанный в Symbolics, и CommonLoops, разработанный в Xerox PARC. Они составили базу для Common Lisp Object System (CLOS).

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

CommonLoops

Loops - это многопарадигмовая система для обработки знаний и программирования, разработанная в Xerox PARC. В представлении знаний используется объектно-ориентированный подход. поддерживающий классы и наследование. Объектно - ориентированная часть Loops позднее была оформлена как пакет в составе продукта Common Lisp, более известного как CommonLoops. Характеристики языка:

частичная интеграция системы типа Common Lisp с классами CommonLoops;

использование синтаксиса обобщенных функций вместо посылки сообщений;

способность определять методы, различающиеся не только по первому аргументу ( так называемые мультиметоды);

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

Опытная реализация, названная Portable CommonLisp (PCL), распространена для небольшого сообщества пользователей. Она используется в Hewlett-Packard Laboratories для реализации другого объектно - ориентированного языка - CommonObjects [Kempf, Harris, D'Souza and Snyder 1987].

New Flavors

Flavors - это расширение MacLisp/ZetaLisp. Это система посылки сообщений, используемая в коммерческих целях фирмами Symbolics и TI Explorers. New Flavors - это производная от Flavors, совместимая с ней, но использующая синтаксис обобщенных функций.

Common Lisp Object System (CLOS)

В 1986 г. группы с фирм Xerox PARC и Symbolics, а также группа с фирмы Lucid, начала работу над проектом спецификации для CLOS, представленный на рассмотрение технической рабочей группе Ansi, X3J13. Эта спецификация одобрена для вероятного принятия в качестве части развивающегося стандарта Common Lisp. Цели CLOS: использование набора уровней для независимых друг от друга действий языка программирования; сделать как можно больше в рамках первого класса Object System (объект первый класс - это объект, который можно явно создать и работать с ним); желание избавиться от сложного поведения для упрощения понятий и их объяснений; сделать спецификацию языка как можно более точной [DeMichiel and Gabriel 1987]. Основные средства CLOS:

три слоя языка: интерфейс для объектно-ориентированного программирования, функциональный интерфейс для Object System, и инструменты, позволяющие программисту создавать свои собственные объектно-ориентированные языки;

использование обобщенных функций вместо посылки сообщений; при таком подходе объекты и функции являются анонимными объектами: ни один из них не является собственностью другого;

поддержка множественного наследования: список старшинства классов используется для решения потенциальных конфликтов между наследуемой структурой и поведением; средство комбинации методов для получения значений обобщенной функции - задание способа комбинации методов, применимых к набору аргументов (в результате множественного наследования);

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

Delphi Common Lisp

Delphi - это итальянская фирма, считающая себя первой в реализации стандарта для CLOS. Последний выступает как часть продукта Delphi Common Lisp (DCL), основанного на расширенной версии Kyoto Common Lisp.

Разработано три расширения CLOS:

поддержка традиционных систем;

поддержка постоянной памяти;

поддержка параллельности.

Allegro Common Lisp

Allegro CL - это реализация Common Lisp, разработанная и выставленная на рынок фирмой Franz Inc на широком наборе аппаратуры. В настоящее время он включает объектно-ориентированные расширения для поддержки Flavors и Portable CommonLoops. Поддержка стандарта CLOS буде реализована как только он станет доступным.

ExperCommon Lisp

ExperTelligence разрабатывает и выставляет на рынок объектно - ориентированное расширение ExperLisp для Macintosh. Поддерживает Macintosh Toolbox и MacApp.



Информация о работе «Объектно-ориентированные языки програмирования»
Раздел: Информатика, программирование
Количество знаков с пробелами: 46692
Количество таблиц: 5
Количество изображений: 0

Похожие работы

Скачать
257002
0
22

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

Скачать
106814
0
0

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

Скачать
52909
0
0

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

Скачать
282295
41
133

... 2 >= Y And д + В > С — False, далее д*Х + B*Y = D And ( // <= Y And Y <= Q) - False, последней операция Or. которая лает результат — False. 3.3.3. Символьное выражение В Visual Basic определена одна операция с символьными данными - конкатенация (сцепление), позволяющая объединять несколько строк в одну. Знак операции — “+” или “&”. Операндами символьного выражения могут быть: ...

0 комментариев


Наверх