Письмо в редакцию
В противоположность утверждению Сергея Дунаева (PC Week/RE, № 39/97, с. 77), “Джаву” у нас (как и “у них”) любят очень многие. Технология Java вполне закономерно стала для программистов воплощением идеала и обозначила путь выхода из того, во что они сами с энтузиазмом вляпались. Другой вопрос, куда этот путь ведет.
Позволю себе привести несколько исторических фактов. До начала восьмидесятых годов программы, как правило, свободно переносились с машины на машину лишь одного поставщика, а понятие “платформа” совпадало с маркой компьютера. Это, естественно, породило монополии, основанные на “железе” - IBM, DEC.
Затем на арену вышла другая модель. Теперь программы не зависят от марки компьютера, вы можете “написав однажды, выполнять повсюду”, конечно, при условии, что “повсюду” стоит Intel внутри и Microsoft - снаружи. Поначалу это всем очень нравилось, многие называли такую платформу “открытой”, дающей равные условия всем производителям “железа” и программ. То, что платформа эта была частной собственностью MS и Intel, мало кого беспокоило: эти фирмы тогда казались маленькими и добродушными по сравнению с “большим братом” - IBM.
В итоге монополия IBM действительно была разрушена, но взамен возникли две новые, которые не только переняли все повадки предшественницы, но и во многом ее переплюнули. Вместо свободного и равного соревнования в рамках общих стандартов перед поставщиками компьютеров и программ замаячила перспектива превратиться в придатки монстров, в реселлеров с очень небольшой “добавочной стоимостью” (за что боролись, на то и напоролись).
Сегодня под знаменем Java идет борьба за новое наполнение термина “платформа”. Теперь это уже не марка “железа”, не операционная система в сочетании с процессором, а виртуальная машина + библиотека классов + язык. Вы снова можете “написав однажды, выполнять повсюду” при условии, что пишете на Java и что “повсюду” стоят вышеупомянутые виртуальная машина и библиотека, которые, между прочим, являются собственностью Sun. На последний факт опять никто не обращает внимания, хотя нас честно предупреждают при установке любой Java-программы (“Минздрав предупреждает, что...”).
Дальнейшее (в случае успеха нового движения) предугадать нетрудно. Разрушение ненавистной монополии. Воздвижение на ее осколках новой, еще похлеще прежней. Начало новой борьбы под каким-нибудь новым лозунгом. И т. д. и т. п.
Разумеется, возникновение и разрушение монополий - дело неизбежное, это будет происходить всегда. Но для тех, кто делает программы здесь и сейчас, есть более мудрый путь, нежели следование за очередной идеей, овладевшей массами. Состоит он (как это ни банально) в непредвзятом понимании слов. Так, открытым стандартом можно назвать лишь то, что действительно открыто, то есть не является чьей-либо собственностью (пусть даже собственностью общепризнанного “знаменосца открытости” и “лучезарного светоча истины”). Многие традиционные языки программирования открыты (например, Fortran, Cobol, Lisp, Smalltalk, Ada, SQL), но Java и Си++, так же как и VB с Delphi, открытыми не являются (Java - собственность Sun, Си++ “намертво” привязывает вас к операционной системе). А что до пресловутого лозунга “написав однажды, выполнять повсюду”, то иногда не мешает подумать, так ли хороши ваши программы, чтобы выполнять их повсюду (или хотя бы где-либо).
С уважением,
Игорь Якушевский.