          ИЗВЕСТНЫЙ АПОСТОЛ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
              ЖЕЛАЕТ ПЕРЕМЕН В МОРЕ РАЗРАБОТОК ПРИКЛАДНЫХ ПРОГРАММ

                       Уэйн Эккерсон - Филип Кан
                       -------------------------

         Филип Кан очень много говорит об объектно-ориентированном
    программировании ( ООП ), может быть, даже слишком много.
    Некоторые считают, что Кан преувеличивает возможности этой технологии.
    Математик по образованию, классный яхтсмен и прекрасный музыкант,
    Ф. Кан в 1983 году основал фирму Borland International, Inc. Перед
    новообразованной компанией стояли задачи по разработке и выпуску на
    рынок пакетов прикладных программ и " языков программирования ".
    С тех пор доходы компании возросли до 500 миллионов долларов, а
    число сотрудников - до 2100.
         В активе фирмы - такие популярные программные продукты,
    как СУБД Paradox, dBase, InterBase, табличный процессор Quattro Pro,
    " личный секретарь " Sidekick, и, конечно, ObjectVision, Borland C++,
    Turbo Pascal и многое другое.
         По мнению Кана, влияние ООП на развитие программного обеспечения
    можно сравнить с тем, как около 20 лет назад интегральные схемы изменили
    мир аппаратных средств. Объекты дают программистам возможность
    повторного использования кодов, модульного ассемблирования и
    облегчают создание прикладных   программ.
         В 1988 году в компании было принято решение о переориентации
    всей линии программных продуктов на использование ООП.
    В прошлом году были выпущены первые борландовские
    объектно-ориентированные продукты. Имеются в виду Turbo C++,
    Turbo Pascal и ObjectVision. В 1993 году Borland запустит
    на рынок объектную версию Quattro Pro для Windows, а в следующем
    году ожидается появление объектной версии Paradox для Windows.
         В интервью,которое Филип Кан дал старшему редактору газеты
    NetWork World, он, среди прочего, размышляет о роли ООП в
    программировании для распределенных сетей и архитектуры
    "клиент/сервер", о проблемах Lotus Notes, о столкновениях с
    Микрософтом по поводу стандартов, а также об обучении юного
    поколения программированию
         Это интервью мы и хотим предложить читателям.



------------------------------------------------------------------------------




  У. Э.  Какие советы  Вы можете дать пользователям с тем,
       чтобы они достигли наивысших успехов в своих делах ?


  Ф. К.  Придерживаться определенной технологии. Сейчас мы
       переживаем уже третью технологическую волну. От работы с
       символами через графические пользовательские интерфейсы - к ООП.
       Что же в результате получат пользователи, принявшие новую
       парадигму?  Их ожидает увеличение производительности и более
       высокая окупаемость инвестиций.
          В " символьном мире " , скажем, электронная таблица содержала
       порядка 50 000 строк кода, в эпоху GUI ( Graphical User
       Interface) ) - 250 000. В настоящее время такая объектно-
       ориентированная прикладная программа, как QuattroPro содержит
       более миллиона строк кода. Ее разработка заняла 3 года.
          К концу столетия появятся прикладные программы, содержащие
       до 10 миллионов строк кода. Вот что нас ожидает в ближайшее время.

  У. Э.  Что же делает Ваша фирма чтобы помочь пользователям
       справиться с такими серьезными проблемами?

  Ф. К.  Мы занимаем ведущие позиции в области ООП и приложений
       для систем " клиент/сервер ". Мы стремимся делиться
       с пользователями своими знаниями и " ноу-хау ", в результате
       выиграют и они и, конечно, мы.
          Естественно, мы не могли создавать программы традиционными
       методами. И тут появилась идея ООП. Нам не хотелось, чтоб при
       создании новых прикладных программ все начиналось, как
       говорится, с нуля. Решение здесь - в применении многократно
       используемых кодов ( модулей). В различных прикладных
       программах могут иметь место одни и те же компоненты:
       отчеты, формы, способы доступа к данным и т.д. И вот
       объекты позволяют минимизировть коды, которые пишутся
       для отдельных программ.
          Однажды Билл Гейтс сказал: " Если объекты такая прекрасная
       штука, то почему же Borland не обратился к ним раньше. "
       Дело не в этом. Самое главное здесь - это многократное
       использование. Если применять ООП, то разработка первой
       версии некоторого программного продукта займет примерно
       на 25% больше времени, чем в условиях использования
       традиционных методов. Однако, далее скорость разработки
       новых версий и модификаций будет существенно выше, чем
       у " традиционалистов ". Вот в чем я вижу преимущества ООП.
          Полагаю, что в ближайшие 5 лет ядром стратегии по выпуску
       новых программных продуктов у большинства разработчиков
       будет ООП.

  У. Э:  Некоторые обозреватели считают, что возможности ООП
       слишком преувеличиваются и восхваляются. Вы согласны
       c этим ?
  Ф. К.   Да, я полностью согласен, что многие поднимают слишком
       большой шум вокруг ООП. В основном, это касается компаний,
       которые с объектами не имеют ничего общего, однако называют
       свои продукты объектно-ориентированными. Естественно, это
       раздражает. Но зато, если вы поработаете с Quattro Pro
       for Windows, то получите кучу свидетельств о прелестях ООП.

  У. Э.   Какое влияние окажут объекты на развитие компьютерных
       сетей ?
  Ф. К.   Здесь может быть несколько направлений. Одна из проблем
       состоит в том, что повышается " уровень сложности "
       прикладных программ, особенно их сетевых версий. Через
       многократно используемые модульные коды ООП значительно
       облегчит дальнейшее развитие систем "клиент\сервер".
       Можно сказать, что объекты и клиент с сервером шагают
       рука об руку.
  У. Э.   Насколько широко программисты других компаний применяют
       объектно-ориентированную технологию?
  Ф. К.  Буквально все сейчас бросились в объектно-ориентированные
       пилотные проекты. Например, Price Waterhouse пишет все
       свои  "внутренние" приложения, используя C++, ObjectVision
       и Quattro Pro for Windows. Эта группа хорошо восприняла
       принципы Архитектуры ООП и теперь все свои задачи рассматривает
       через призму ООП.
  У. Э.  А готовы ли " широкие массы " пользователей к ООП, в частности,
       в нынешних условиях, когда инвестиции в проекты информационных
       технологий должны мгновенно окупаться.
  Ф. К.  Пользователи сетей должны были обратить внимание на объекты
       еще 3-4 года назад. Большинство крупных компаний сейчас изучает
       возможности ООП или уже работает над пилотными проектами.
       И все же нужно понимать, что объекты - не волшебная палочка
       и не панацея. Объекты - это дисциплина и порядок. Конечно же,
       ООП даст большой процент возврата на инвестиции, но это будет
       не столь просто и, естественно не бесплатно.
  У. Э.  А не добавит ли столь пристальноео внимание к объектам
       дополнительных трудностей любителям систем " клиент/сервер "
  Ф. К.  Наоборот, ООП помогает решать очень многие проблемы,
       возникающие у " сетевиков ", поскольку использование
       этой технологии позволяет упростить разработку дальнейших
       версий и дает немедленную отдачу. Я бы сказал, что
       " клиент/сервер " - это важнейшая составная часть ООП.
       Действительно, вместе они работают неплохо.
  У. Э.  Так что, получается, что Вы рекомендуете пользователям и
       разработчикам, которые занимаются сетевыми приложениями,
       " броситься в объятья " к объетам.
  Ф. К.  Абсолютно точно. Где только возможно, ООП позволит
       существенно повысить производительность.
  У. Э.  Как Вы считаете, какие фирмы ( кроме Borland ),
       производящие и  продающие софтвер, будут занимать
       ведущие позиции в 90-е годы и далее? Подход какой
       компании, по Вашему мнению, обладает " наибольшей
       долей здравого смысла ".
 Ф. К.  В первую очередь, конечно Microsoft. Количество их
       сотрудников - одно из доказательств. Кроме того, есть
       компании, занявшие свои " экологические ниши ", прекрас
       ный тому пример - деятельность AutoDesk. У этих ребят
       все хорошо получается.
         Lotus Notes - пример хорошего решения прикладного пакета
       для рабочих групп ( work group ). Но здесь нет поддержки
       обработки данных в распределенных сетях  или  же
       " крупномасштабных " системах запросов, а именно этого
       чаще всего хотят пользователи, работающие с системами
       " клиент/сервер ".
         Репликация в Lotus Notes - это скорее недостаток, чем
       какая-то отличительная особенность. Если бы ребятам из
       Lotus удалось разрешить некоторые проблемы, связанные
       с распределенными базами данных, то отпала бы необходимость
       в репликации.
         А так получается вот что. Если с Notes будет работать,
       скажем, 200 пользователей, то потребуется 200 копий одной
       и той же базы. Ну, что ж, в добрый путь! Репликация - это
       не выход. Понять легко, а вот эффективность невысока.
       Какую-то ползу она сможет принести только в сверхцентрализованных
       организациях.


 У. Э.   А что могло бы заставить поставщиков " сесть за стол
       переговоров" и разработать стандарты, что облегчило бы
       жизнь рядовым пользователям?

 Ф. К.   Мы всегда были "за" и действовали в этом направлении.
       Например, разрабатывая IDAPI ( Integrated Database
       Application Interface ), мы сотрудничали с многими
       компаниями, в том числе IBM и Novell. Кроме того,
       деловые узы нас связывают с Vendor Independent Messaging
       Group и Object Management Group. Разработка промышленных
       стандартов и стимуляция их внедрения всегда были среди
       основных направлений деятельности нашей компании.


 У. Э.   Неужели борландовский IDAPI затмит Microsoft'овскую
       платформу ODBC ( Open Database Connectivity )?



 Ф. К.   Мы надеемся, что IDAPI будет иметь такой уровень,
       что обеспечит поддержку ODBC. Вы сможете запускать
       ODBC-приложения из IDAPI. Мы действительно надеемся,
       что Microsoft примет наше приглашение к сотрудничеству
       в этой сфере.


 У. Э.   А  вот, разрабатывая IDAPI, не планировали ли Вы
       " прямое покушение " на Microsoft ?

 Ф. К.   Отнюдь нет. Более того, мы считаем что микрософтовская
       платформа ODBC достаточно хороша. Но дело в том, что не
       следует замыкаться только лишь на микрософтовских стандартах.
       В этом деле нужен более широкий подход. Против Microsoft
       мы не предпринимаем никаких " враждебных акций ". Чаще
       бывало наоборот, но давайте сейчас об этом говорить не будем.
         ODBC обеспечивает доступ к базам данных из Windows. Хотя
       возможности довольно ограничены, ODBC - достаточно приятная
       штука. Не поймите меня неправильно, но я считаю, что IDAPI -
       более удачная платформа.


 У. Э.   Интересно, сколько программистов, имеющих дело с 
       КОБОЛом, внедрится в мир объектов ?


 Ф. К.   Примерно 25% останутся на старых позициях, еще 25% станут
      сетевыми администраторами.
         Что же касается остальных, то половина из них займется
      технологиями визуального программирования или языками высокого
      уровня типа Visual Basic или ObjectVision, оставшаяся же часть
      пополнит ряды специалистов по C++.



 У. Э.   Вы всегда очень много говорите о проблемах технического
      образования и, конечно же, знаете, что в США здесь не все
      в порядке. Как Вы считаете, сумеет ли страна сохранить свое
      лидерство в области информационных технологий, если эти проблемы
      не будут решены ?


 Ф. К.   Пока нам будет удаваться поддерживать здоровую конкуренцию,
      американская индустрия программных и аппаратных средств будет
      " чувствовать себя хорошо ". 
         Мне представляется, что обучение детей программированию -
      задача не менее важная, чем обучение счету и письму. Ведь
      в грядущем ХХI веке компьютеры будут окаэывать на жизнь
      общества и отдельных людей еще большее влияние, чем нынче.
      Поэтому все дети должны имет определенные навыки в программиро-
      вании, знать, как устроены и как работают компьютеры и уметь
      ими пользоваться.




