БЕСЕДЫ О ПРОГРАММИРОВАНИИ         

В апреле фирма 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.

Питер Кофи