ПК-ностальгия
HOME
Железо
Программы
Оборудование
Статьи и публикации
Фототаблица
Ссылки
Почта
Гостевая
ПОИСК
Новости Яndex
О сайте

Этот сайт предназначен, прежде всего, людям, ностальгирующим по ушедшим РУССКОМУ СЛОВУ, Windows 3.1, ФОТОНУ, процессорам 486SX и иже с ними.
Конечно, времена должны идти вперед, но почему они обязательно должны уходить?

StuhlbergR 2007-2008 ©
Туманные объекты наших устремлений

Ли Мантелман

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



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

Кинг Уоллинг, администратор главной группы сопровождения фирмы Electronic Data System, рассматривает переход к объектно-ориентированной технологии как важный концептуальный сдвиг. "Это изменит организационные структуры, стратегию капиталовложений - одним словом, все. Перемены такого рода происходят не быстро и не безболезненно", - говорит он. Тем не менее, Уоллинг убежден: тот, кто хочет оставаться конкурентноспособным, должен переходитть к новой технологии.

По мнению Дэвида Тейлора, главы фирмы Taylor Consulting (Сан-Матео, шт. Калифорния) и автора книги "Object-Tehnology: A Manager's Guide", объектная технология ведет к появлению предприятий совершенно нового типа.

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

ОБЪЕКТЫ БУДУЩЕГО
Объектная технология появилась в последнем десятилетии. Лежащие в ее основе идеи просты и эффективны. В отличие от традиционных программ, которые пишутся вручную от начала до конца, объектно-ориентированные программы собираются из готовых компонентов - объектов. Эти объекты могут соответствовать объектам или процессам реального мира, а также абстрактным понятиям.

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

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

НЕ ВСЕ ТО ЗОЛОТО...
Важно не путать объекты, существующие в программе, с теми, которые видны на экране. Некоторые пользователи воспринимают изображения на экране знакомых объектов, например, файлов или папок, как свидетельство объектной ориентации, однако в действительности ничто не мешает запрограммировать GUI - графический пользовательский интерфейс, - используя традиционные методы. "Пиктограмма" и "объект" - отнюдь не синонимы. Прикладная программа, использующая пиктограммы, еще не обязательно основана на объектно-ориентированной технологии.

Хотя GUI позволяет пользователям легко перемещать пиктограммы по экрану, в большинстве случаев переход к подлинному объектно-ориентированному пользовательскому интерфейсу - OOUI (Object-Oriented User Interface) - еще не сделан. В OOUI пиктограммы ведут себя как реальные объекты: например, технология фирмы Borland позволяет пользователю увидеть список возможных операций с данной пиктограммой.

В свои еще будущие пакеты для Windows компания Borland собирается включать новое средство Property inspector, предназначенное для просмотра характеристик объектов. Пользователь может выбрать объект - таблицу, поле, экранную кнопку или пиктограмму - и нажать правую кнопку "мыши". При этом на экране возникнет всплывающее меню, в котором отображаются доступные для редактирования характеристики объекта, - скажем, цвет или размер шрифта.

ПОЧЕМУ ОБЪЕКТЫ?
По сравнению с традиционными методами объектная технология обладает следующими преимуществами:

  • дает возможность разработчикам собирать новые прикладные программы из готовых модулей, что намного быстрее, чем писать их вручную от начала до конца;
  • позволяет пользователям и разработчикам оперировать в программе теми же самыми процессами, с которыми им приходится иметь дело на уровне обычных практических понятий и терминов. Представление данных для объекта, например, клиента, связано с прототипом этого объекта в реальном мире;
  • поддерживает богатый набор форм представления информации для средств multimedia, например, речевые аннотации и видеоклипы, что совершенствует возможности взаимодействия между пользователями.

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

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

Например, пишет Тейлор, вы можете сделать надстройку к реляционной СУБД, которая обеспечит некоторые объектные возможности, скажем, поддержку multimedia, или смоделирует наследование, однако такие системы никогда не будут столь же совершенны, сколь чисто объектные, и будут отставать от них по производительности.

ВСЕ НАЧАЛОСЬ С ЯЗЫКА SMALLTALK
Первым объектно-ориентированным языком (ООЯ) был Smalltalk, разработанный фирмой Xerox PARC в начале семидесятых годов. В дальнейшем, вплоть до создания высоко оцениваемой специалистами среды разработки NextStep фирмы Next, Inc, (Редвуд-Сити, шт. Калифорния), развитие объектно-ориентированной технологии стимулировалось в основном пожеланиями программистов.

ООЯ, такие, как Си++ и Smalltalk, характеризуются следующими общими свойствами:

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

ООЯ специально предназначены для того, чтобы помочь программистам работать с объектами, точно так же, как Паскаль или Кобол ориентированы на процедурное программирование. Многие компании предлагают компиляторы и интерпретаторы, которые позволяют программистам писать и выполнять программы на таких языках. В изобилии имеются и пакеты утилит, подпрограмм и других полезных средств, призванных облегчить программирование на ООЯ.

Несколько фирм предлагают и полную среду разработки, объединяющую инструментарий с такими средствами, как библиотеки объектов - готовых модулей, которые разработчики могут использовать в собственных программах, или программистский интерфейс, призванный упростить и ускорить процесс написания программ. К таким средам относятся Object Center фирмы CenterLine Software, Objectworks фирмы ParcPlace Systems, Sparcworks фирмы SunPro и ObjectVision фирмы Borland.

В литературе, посвященной ООЯ, часто речь идет также об объектно-ориентированном проектировании (OOD - Object-Oriented Design) и объектно-ориентированном анализе (OOA - Object-Oriented Analyais). Эти методы, подобно их аналогам в структурном программировании, используются для планирования, разработки и анализа объектно-ориентированных программ.

Такие средства адресованы главным образом программистам. А что же пользователи? Существуют ли готовые объектно-ориентированные продукты , такие, как электронные таблицы или СУБД, которые пользователь мог бы приобрести и начать применять их в работе?

Пока нет. Хотя объектно-ориентированных прикладных пакетов, включающий СУБД, системы управления сетями и другие сетевые среды, и представлен на рынке, эти системы не готовы к немедленному использованию, а требуют от пользователя серьезной предварительной настройки (в основном, с применением языков Си++ и Smalltalk).

Сравнение структур традиционной и объектно-ориентированной программ ОПЕРАЦИОННЫЕ СИСТЕМЫ, КОТОРЫХ ЕЩЕ НЕТ
Некоторые пользователи ошибочно полагают, что объектно-ориентированные прикладные программы требуют использования объектно-ориентированной операционной системы. В действительности такие пакеты, как объектно-ориентированные СУБД, рпботают под управлением обычных операционных систем.

Более того, хотя многие фирмы предлагают сегодня объектно-ориентированные программные продукты, ни одна еще не разработала обперационной системы, которая была бы основана на объектной технологии. Такой должна быть Pink - операционная система следующего поколения, создание которой запланировано в совместном рпоекте Taligent фирм IBM и Apple Computer, Inc.

Пресловутая операционная система Windows NT (Windows New Technology - новая технология для Windows) фирмы Microsoft также имеет репутацию объектно-ориентированной, однако это мнение базируется главным образом на отдельных высказываниях председателя правления фирмы Билла Гейтса и не очень обосновано. В своем 17-страничном обзоре по NT фирма Microsoft упоминает объектную ориентацию только однажды, утверждая, что операционная система "должна обеспечивать новые возможности, такие, как ... интеграция прикладных программ на основе объектно-ориентированной технологии".

NextStep также иногда упоминается в качестве объектной операционной системы, но она, хотя и позволяет работать с объектами, существенно уступает в этом отношении основанному на UNIX ядру операционной системы Mach, разработанному в университете Карнеги-Меллона.

По мнению Тейлора, более ценно создание объектно-ориентированных надстроек, работающих со многими операционными системами, таких, как NextStep или Cooperation фирмы NCR Corp. (Дейтон, шт. Огайо). По поводу объектных операционных систем он пишет: "В проектах NT и Taligent в системы включаются библиотеки готовых объектов, используемых в разных программах. Затруднение состоит в том, что эти объекты связаны с операционной системой, а значит, пользователь прикован к конкретной ОС".

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

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

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ СЕТЕВЫЕ СРЕДЫ
Если объектно-ориентированные операционные системы пребывают в туманной дали, объектно-ориентированные сети все-таки существуют, хотя тоже несколько призрачны.

Работая по принципу "от простого к сложному", языки типа Си++ позволяют объектам в пределах одной программы обмениваться между собой сообщениями. Объектно-ориентированные среды, такие, как Hewlwtt-Packard, обеспечивают обмен сообщениями между объектами, находящимися в разных программах.

Но что, если эти программы работают в различных системах? В таком случае вам необходима объектно-ориентированная сетевая среда (ООСС). Такие среды предлагаются различными поставщиками: фирма Digital Equipment Corp. (Мейнард, шт. Массачусетс), продает свою систему Architecture Services, фирма NCR - систему Cooperation, компания SunSoft - систему ToolTalk, фирма HyperDeck Corp. (Цэстборо, шт. Массачусетс) - HyperDesk DOM System. Компания Tivoli Systems, Inc. (Остин, шт. Техас) встраивает свою специально разработанную для управления сетями ООСС WizDom в пакет Distributed Managemend фирмы Open Software Foundation.

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

Поэтому Группа по управлению объектами (Object Management Group) - ассоциация поставщиков объектно-ориентированного программного обеспечения со штаб-квартирой в г. Фреймингем, шт. Массачусетс - разработала архитектуру стандартизованных сетевых администраторов объектов - Object Request Brokers (ORB).

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

ООСС, и особенно ORB, видимо, приобретут заметную роль в будущих сетях.


ОБ АВТОРЕ
Ли Мантелман - независимый автор (Риджфилд-Парк, шт. Нью-Джерси).

Еще об ООП можно почитать в статье "Объектно-ориентированное программирование для менеджеров" и врезке "Основные понятия ООП".

*** "Туманные объекты наших устремлений".
Статья была опубликована в журнале "Мир ПК" №5/92


ПРОГРАММЫ

Большинство предоставленного здесь материала является цитированием со старых номеров компьютерных журналов, таких, как "Мир ПК" или "Весь Компьютерный Мир". К сожалению, все мои попытки связаться с этими изданиями по поводу вопроса о цитировании были безуспешны. Издания упорно хранили молчание. Что я разрешил себе расценивать как знак согласия, указывая, тем не менее, повсюду как выходные данные издания (с работающей ссылкой на Интернет-представительство), так и автора публикации. Тем более, что, в силу срока давности этих публикаций, вряд ли материал можно рассматривать как коммерческий или рекламный, пусть даже названия фирм здесь и присутствуют (уж без этого никуда). Ежели появятся какие претензии по оному поводу, прошу издания связаться со мной

Райво Штулберг


Rambler's Top100

Рейтинг@Mail.ru Портал HotINDEX: знакомства, товары, хостинг, создание сайта, Интернет-магазин, развлечения, анекдоты, юмор, эротика, погода, курсы валют и многое другое! Сайт Татьяны Полукаровой Яндекс цитирования Каталог Ресурсов Интернет
Белый каталог сайтов Литературное ДАО Практическая педагогика. Авторский сайт Штулберг Надежды Васильевны

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

Hosted by uCoz