Беседы о программировании
Программисты, в общем-то, терпимо относятся к пользователям, но мне кажется, что нам приятнее находиться в компании битов. Как только нам удается по чистой случайности придумать какую-нибудь схему представления информации, доступную пониманию обычного пользователя, мы немедленно ее меняем.
Такова была моя реакция на недавнее объявление предложений Microsoft относительно HTML-объектов. Похоже на логическое противоречие в термине? По-моему, очень похоже.
Когда официальные представители толкуют о планах "расширения" HTML-страниц, я задаюсь вопросом: "расширения" куда? Боюсь, что ответ мне известен: они хотят расширить HTML-страницы так, чтобы ими было легче манипулировать тому программному обеспечению, которое наиболее глубоко скрыто от пользователей.
В начале был ASCII-файл, и ASCII-файл вы могли читать, выполнить по нему поиск и обрабатывать его с помощью шаблонов на языке, похожем на естественный английский, таком, как REXX.
Сначала добавилось понятие "содержимого": если вы хотели использовать текст для управления, нужно было написать исполняемую оболочку для текстового файла. Вы же не добавляете исторические гиперсвязи в Декларацию о Независимости.
Затем зародилась технология HTML-ссылок. Мы согласились подпортить информационную базу несвойственными ей примесями, что вряд ли было хорошо - всегда существует опасность перепутать содержащуюся информацию с управляющим элементом.
А как бы вы написали руководство по HTML в форме HTML-файла? (Более того: а как насчет метаруководства, в котором вы пытаетесь объяснить, как это нужно делать?) Как только управляющий элемент оказывается встроенным в содержимое, Escape-последовательности и тому подобная накипь появляется, подобно муравьям на пикнике.
Цели, для которых вводились HTML-ссылки, могли быть достигнуты с помощью параллельных файлов, содержащих управляющие команды: каждая команда могла бы иметь поле для смещения или интервала, указывающее место внутри файла содержимого, с которым бы эта команда работала.
Но такие файлы было бы труднее поддерживать, чем непосредственно встроенные ссылки, а мы, программисты, привыкли заботиться в первую очередь о себе. Джинн был выпущен из бутылки. Но все-таки среда хранения информации при этом еще не потеряла читабельности: даже при отсутствии HTML-браузера все еще можно было понять, о чем идет речь в HTML-файле.
Тогда бог Солнца* провозгласил: "Восстаньте и вдыхайте запах Java". И вот мы научились распевать заклинания типа <applet align=center code="Some-Applet.class" width=320 height=80>.
И даже тогда человеку было под силу ухватить смысл. По именам классов Java можно с достаточной степенью достоверности угадать их назначение, а традиция указания в обратном порядке имен доменов Internet оказалась читабельным способом присвоения каждому классу уникального имени. (Например, класс PC Week Labs Benchmark можно было назвать com.zd.Benchmark.)
Но в тех местах, куда редко заглядывает Солнце*, предпочитают более экзотическую стряпню. Я осознал, что мы впадаем в ересь, когда впервые увидел формат идентификатора класса ActiveX: <object classid="clsid:12345678-1234-1234-1234-123456789012" width=w height=h>. Надеюсь, вы меня простите?
Не знаю, как вы, но я не справлюсь с уже имеющейся работой и при 20-часовом рабочем дне. А такая гарантия занятости мне ни к чему.
Я серьезно не собираюсь иметь дела с HTML.
Питер Коффи
С Питером Коффи можно связаться через MCI Mail по адресу: 357-1756, через CompuServe по адресу: 72631,113 или по 3571756@mcimail.com.