БЕСЕДЫ О ПРОГРАММИРОВАНИИ
В апреле фирма NeXT приобрела все права на язык про граммирования Objective-C у фирмы Stepstone. Это объ ектное расширение С, которое многие считают гораздо более легким в изучении и использовании, чем C++. И мне кажется, что лучшие дни Objective-C еще впереди.
Objective-C всегда был основой знаменитых средств разработки фирмы NeXT. В феврале фирма МС1 выбрала эти средства разработки для создания специальных приложений, поддерживающих мероприятия "Новые друзья" и "Семья" фирмы МС1 по предоставлению скидок. Так как C++ был разработан в AT&T, интересно посмотреть, влияет ли выбор языка на сроки появления на рынке новых услуг от этих компаний-конкурентов.
Приобретение Objective-C фирмой NeXT не означает, что язык станет внутренним делом фирмы. Напротив, NeXT планирует пройти официальный процесс стандартизации языка и сделать его открытым языком. Фирма Stepstone получила лицензию на продолжение продаж трансляторов Objective-C под собственным именем.
И это хорошие вести. Стиль разработки приложений, определяемый Objective-C, является замечательной альтернативой стилю C++ ("стандарту", которым он еще не стал) и Ада 95 (объектно-ориентированный стандарт ANSI и ISO, который заслуживает большего внимания, чем ему уделяется до сих пор).
Как и ставший недавно вторым официальным объектно-ориентированным стандартом Common Lisp Object System, язык Objective-C содержит превосходные средства для разработки гибких приложений.
Под гибкостью я имею в виду, что приложения откладывают связывание полиморфных операций (операций с неопределенным типом) до тех пор, пока в процессе выполнения не будет определен тип адресуемого объекта. Многие разработчики заинтересованы в подобных свойствах, так как они начали работу на "более эффективном" языке, который, однако, не предоставляет таких возможностей.
Кто быстрее проложит дорогу через сложности проекта: кто начал работу с бензопилой в руках или кто пытается сделать бензопилу из мачете? Вы окажетесь в ситуации номер два, если разработчики будут выбирать средства разработки без учета свойств приложения, которое вы им заказали.
По словам Брюса Вебстера, одного из основателей фирмы Pages Software, C++ без сомнения является "наиболее мощным, наиболее поддерживаемым и наиболее переносимым" объектно-ориентированным языком программирования. Но успешная разработка объектно-ориентированных приложений - это гораздо больше, чем просто использование объектно-ориентированного языка, и Вебстер первый бы согласился с этим утверждением.
Технически вопрос заключается в разнице между статическим контролем типов и динамическим связыванием во время выполнения программы. Это описано Вебстером в его последней книге "Проблемы объектно-ориентированного программирования", только что вышедшей в издательстве М&Т.
Среди прочих 82 статей "Проблема 5.4" озаглавлена "Используем C++". Он считает принципиальным недостатком языка отсутствие динамического связывания, хотя и не отрицает, что язык развивается в этом направлении.
По мнению Вебстера, усовершенствования C++, связанные с предоставлением информации о типе в процессе работы, страдают "всеми проблемами, возникающими при внедрении свойств, на которые язык не был рассчитан".
Ограничиваться только выбором языка - это принципиальная ошибка. "Мы постоянно помним об этом, - сообщил один из основателей фирмы Stepstone Брэд Кокс в интервью 1991 года. - Но разве кто-то что-то делает в области методов постановки требований?" Даже если и так, средства, подобные Objective-C, дают возможность разработчику делать то, чего хочет заказчик, а не только то, что позволяет ему более ограниченный язык.
К Питеру Кофи можно обратиться через МСI Mail по номеру: 357-1756 или через CompuServe по номеру: 72631,113.
Питер Кофи