Джим Рэмбо рассказывает о технологии Unified Modeling Language (UML)
Термин "компонентная технология" становится одним из самых популярных слоганов современного мира. Тао Ай Лей, редактор еженедельника Computerworld (Сингапур), встретился с Джимом Рэмбо из компании Rational Software, чтобы более подробно поговорить об этой технологии.
Рэмбо вместе со своими коллегами по Rational, Гради Бучем и Иваром Якобсоном, работал над созданием Unified Modeling Language (UML) - языка для описания, визуализации, создания и документирования компонентов программных систем. В 1997 году консорциум Object Management Group официально признал UML стандартом.
Каковы, по-вашему, основные тенденции в разработке приложений?
Программное обеспечение становится все сложнее и создавать его все труднее, по мере того как возможности аппаратного обеспечения растут. К примеру, трехмерные игры Nintendo для детей обладают столь же широкими возможностями, что и архисовременное программное обеспечение для бизнеса. Или еще один пример: любой домовладелец может создать на обычном ПК трехмерную модель своего дома и перемещаться в виртуальном пространстве.
В чем основные трудности создания сложного ПО?
При работе со сложным программным обеспечением необходимо создавать перспективные модели, по которым можно было бы судить о различных аспектах поведения всей системы. Хорошо продуманный процесс разработки гарантирует, что разработчик всегда сможет добиться поставленных целей. Это все равно что строить небоскреб: нужно составить перспективный план с детальной проработкой процесса.
В чем значение Java?
Я сомневаюсь, что он заменит Си++. Они оба будут существовать параллельно.
Насколько мы близки к созданию компонентной технологии?
Она по-прежнему остается делом будущего. "Компонент" - очень популярное слово, которое сейчас употребляют где попало. На компонентное программное обеспечение возлагают надежды, несбыточность которых очевидна - разработчики рассчитывают, что смогут создавать новые продукты, приобретая небольшие части и объединяя их вместе. Компоненты полезны, но они не могут заменить программирование.
Однако существуют некоторые части программного обеспечения, которые не рассматриваются как компоненты. Они ведут себя как компоненты и представляют собой модули дополнения. Мы привыкли к тому, что программное обеспечение монолитно, но теперь его поведение можно изменить, а само ПО - обновить. К примеру, браузер Netscape позволяет загрузить апплет RealPlayer для просмотра видеофильма.
Преимущество компонентного программного обеспечения на самом деле в его гибкости, а не в цене, как полагают многие. Гибкость такого ПО проявляется в том, что один человек создает браузер, а другие добавляют в него расширения. Может существовать огромное количество узкоспециализированных рынков, где партнеры пишут модули дополнения.
Насколько распространена компонентная технология в Азиатско-Тихоокеанском регионе?
По сравнению с США отставание составляет около трех лет, но ситуация здесь не хуже, чем в Европе. Заметен огромный интерес к объектно-ориентированному подходу. В ряде стран ведутся исследования, связанные с передовыми технологиями. Примером может служить Япония, которая весьма активно работает на рынке объектно-ориентированных технологий.