За последние недели работы с Java я усвоил несколько полезных уроков по поводу программирования на этом языке.

Урок первый. Многие разработчики не учитывают одной вещи. За исключением Java Workshop компании Sun, мне не встретилось никаких средств, производители которых понимали бы важность применения диспетчеров компоновки (стандартных или определяемых пользователем) при построении независимых от платформы приложений. Помогает Visual Cafe Pro, но только не при работе с самым полезным диспетчером GridBag.

Урок второй. Вы можете написать все что угодно на чистом Java и, тем не менее, умышленно или нет нарушить свойство независимости от конкретной платформы, воспользовавшись библиотекой классов или специфическими инструментальными средствами. Это может произойти из-за слабой поддержки со стороны диспетчеров компоновки или в том случае, если вы примените то, что Microsoft собирается сделать из своих Application Foundation Classes, обеспечив поддержку запросов к функциям, характерным только для Win32.

Урок третий. Программисты пишут на Java, несмотря на ограниченность инструментов. Почти все, с кем мне довелось беседовать, считают, что Visual Cafe Pro производства Symantec подходит наилучшим образом, и я с ними согласен. Факт остается фактом - Symantec заново изобрела модель визуального программирования, впервые введенную Дейвом Хоком в VisPro/Rexx для OS/2. Таким образом, Symantec привнесла первые крупицы разума в Windows-средства визуальной разработки.

Но в Visual Cafe полно ошибок, кроме того, программа отвратительно документирована (в конце месяца по адресу http://www.symantec.com можно будет найти к ней новую документацию и модули исправления ошибок). В любом случае, независимо от того, работаете вы в ненадежной оболочке или предпочитаете командную строку, вам не понравится, если инструментальные средства станут помехой.

Урок четвертый. Большая часть того, что вам приходилось слышать о Java - полнейшая чепуха. Это относится и к некоторым моим замечаниям. Java сильно зависит от конкретного приложения. А в итоге этот язык будет применяться везде, даже в телефонах и факсах.

Урок пятый - последний и самый важный. Java - это стандартный платформенно-независимый язык, позволяющий поставщикам и массе пользователей вкладывать средства в возможности Internet.

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

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

В отношении телевизоров разница между отдельными устройствами состоит в том, насколько хорошо они могут обрабатывать передаваемую информацию: одни снабжены стерео, другие могут принимать 200 каналов. Но и здесь и там обрабатывается один и тот же сигнал и используются одинаковые принципы. К счастью, нет необходимости передавать Windows 95-совместимые шоу на одни телеприемники, а Unix-совместимые - на другие.

Идея стандартизации формата исполняемого кода программы никогда не воспринималась серьезно. Но появился Java. Как и при телетрансляции, вы можете передавать Java-программу и не заботиться при этом о модели и внутреннем устройстве принимающего компьютера.

Кстати, это требование независимости от платформы гарантирует, что любая попытка Microsoft или какой-нибудь другой компании нарушить изначальные принципы Java обречена на провал. А еще оно означает, что технологии, подобные ActiveX и OpenDoc, не имеют никаких шансов составить конкуренцию этому языку. Положившись на любую из них, вы не можете быть уверены, что какой-нибудь компьютер или Internet-устройство (читайте - потенциальный потребитель) сможет воспринять ваши труды. До тех пор пока их компоненты не будут написаны на Java, подобные технологии, независимо от своих качеств, будут скатываться по наклонной плоскости.

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

На самом деле такое качество языка Java, как экстраординарность - его злейший враг.


Со мной можно связаться по адресу: nicholas_petreley@infoworld.com.

Поделитесь материалом с коллегами и друзьями