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.
... быть выведены на печать. На экране рисунки могут быть статическими (неподвижными) или динамическими (движущимися). В последнее время машинная графика выделилась в самостоятельный раздел информатики с многочисленными приложениями. Средствами машинной графики создается не только печатная продукция, но и рекламные ролики на телевидении, мультфильмы. Объясним, как кодируется изображение в памяти ...
... рассмотренного примера Успевающий_Студент и Неуспевающий_Студент является весьма характерным для программирования. В этом смысле записи с вариантами можно рассматривать как форму лаконичного описания типов, позволяющую избавиться от повторов в описании свойств объектов. В объектно-ориентированных языках существует дополнительная возможность такой лаконизации, определяющая полиморфную ...
... общих частей в структурах рассмотренного примера Успевающий_Студент и Неуспевающий_Студент является весьма ха ным для программирования. В этом смысле записи с вариантами мож но рассматривать как форму лаконичного описания типов, поз щую избавиться от повторов в описании свойств объектов. В объектно-ориентированных языках существует дополнительная воз цию объектов не на альтеpнативной основе, а на ...
... 2 >= Y And д + В > С — False, далее д*Х + B*Y = D And ( // <= Y And Y <= Q) - False, последней операция Or. которая лает результат — False. 3.3.3. Символьное выражение В Visual Basic определена одна операция с символьными данными - конкатенация (сцепление), позволяющая объединять несколько строк в одну. Знак операции — “+” или “&”. Операндами символьного выражения могут быть: ...
0 комментариев