Что первично - программа или данные?
Поскольку данные не могут падать с неба, а формируются только с помощью программ, то вопрос о первичности выглядит, на первый взгляд, слишком тривиальным, чтобы вообще обращать на него какое-либо внимание. Но ведь программы тоже не падают с неба, а создавать их можно только под заранее известный или уже существующий формат данных. Следовательно, ответ на "тривиальный" вопрос становится не столь уж простым:
- Если существует только одна программная среда под определенный формат данных, то она будет первична по отношению к этому формату, поскольку для любой иной среды он будет недоступен;
- Если формат данных поддерживается различными программными средами, то он будет первичен по отношению к ним, поскольку его существование не зависит от каждой из них в отдельности.
После такого уточнения вопрос о первичности из тривиальных переходит в разряд стратегических и даже становится основным, поскольку только на такой основе становится очевидной тенденция перехода программного инструментария в подчинение к универсальным форматам данным. В прежние времена эта тенденция проявлялась, в основном, неявно, т.е. в средствах экспорта-импорта. Теперь даже невооруженным взглядом можно заметить, как формат HTML без особых усилий подминает под себя такого универсального супергиганта, как MS Word.
Это происходит не из-за особых функциональных качеств формата HTML, а только вследствие его универсальности, которой потребители информации (главным образом, из интернета) отдают явное предпочтение, несмотря на его очевидную архаичность и полную неспособность обеспечивать эффективный машинный доступ к отдельным данным. В этом формате невозможно поддерживать целостность данных на таком же уровне, как, скажем, в электронных таблицах или СУБД. Зачастую приходится также отказываться от некоторых разновидностей дизайна, если они не поддерживаются по умолчанию в MS Internet Explorer. Можно абсолютно уверенно утверждать, что у формата HTML нет и не может быть никакого будущего, поскольку такая технология может существовать только в режиме, максимально приближенном к ручной обработке данных. Этот формат вполне отражает состояние самого большого кризиса в компьютерной индустрии, которого она никогда не испытывала и, похоже, еще до конца не прошла.
Вполне достойной альтернативой HTML может стать формат PDF, в котором информация сохраняется вместе со шрифтами, а ее графическое отображение вначале фиксируется при помощи виртуального принтера (Acrobat Distiller) и затем может воспроизводиться средствами Adobe Acrobat. Однако за однозначность воспроизведения информации формату PDF приходится платить своей самостоятельностью, поскольку все, что касается обработки данных, должно выполняться в другой программной среде.
Вопрос о том, какой формат может заменить HTML, совсем не праздный. Если уж такой непритязательный (с точки зрения компьютерной обработки данных) формат, как HTML, расчищает себе дорогу, словно мощный бульдозер, то можно представить себе, какой триумф ожидает появление не только универсального, но и программируемого формата данных? Разумеется, что это означало бы и триумф стратегии, основанной на первичности данных по отношению к программной среде. Пока такие технологии еще не появились1, однако путь к ним лежит, опять-таки, через основной вопрос, поскольку для того, чтобы не заблудиться на этом пути, нужно будет определиться, в каких случаях первичность должна оставаться за программной средой, а в каких - нет.
По всей видимости, привилегия первичности для программной среды должна неизменно сохраняться в локальных системах, полностью закрытых от внешнего доступа, но оснащенных средствами импорта из стандартных форматов данных. Во всех остальных случаях элементарная экономическая целесообразность всегда будет стимулировать разработчиков КТ на применение общепринятых стандартов, что приведет, в конечном счете, к появлению единого формата данных для всех информационных систем общего доступа.
Вполне очевидно, что первые ростки будущего единого формата данных могут появиться только в поддерживающей его (системной) программной среде, которая, по крайней мере, на начальном этапе будет первичной по отношению к нему. Однако поддержка целостности данных для решения конкретных задач должна обеспечиваться (прикладными) программными модулями, создаваемыми с помощью встроенного (макро)языка программирования. Эти модули должны быть уже вторичными по отношению к конкретным позициям данных. Именно так обстоит дело в электронных таблицах типа MS Excel, однако этот табличный формат данных не может быть универсальным, а потому его применение ограничено лишь отдельными локальными задачами.
Если же табличный формат используется как основной и универсальный элемент баз данных, то его поддержка изнутри (т.е. программными модулями, привязанными к позициям данных) становится невозможной, т.к. связи между таблицами должны управляться из внешней (первичной) программной среды. При этом, несмотря на универсальную структуру отдельных таблиц, база данных в целом не может быть универсальной, т.к. для ее поддержки нужно каждый раз создавать соответствующую программную среду. Отсюда можно сформулировать два основных требования к технологиям, ориентированным на единый формат данных.
Первое требование - переход от табличных форматов данных к иерархическим, поскольку именно такая структура данных является наиболее универсальной, а относительно небольшое число параметров управления для иерархических структур ("КВ" №29/2000) позволяет в полной мере обеспечить их программируемость, т.е. автоматизированную поддержку целостности данных.
Второе требование - закрепление прикладных программных модулей за конкретными позициями данных, примерно так, как это реализовано в электронных таблицах. Применительно к иерархии способы адресации к данным становятся сложнее и многообразнее, чем в таблицах, однако технологические возможности таких систем неизмеримо более широкие, чем у их предшественников.
Вот только те возможности будущих новых технологий, которые пока остаются нереализуемыми:
- независимость скорости доступа к данным от объема источника;
- прозрачность технологий для внесения изменений в отдельные программные модули;
- актуализация (изменение) технологий с коротким циклом жизни в процессе их применения;
- обозримые и исчерпывающие результаты запросов в системах типа интернет;
- отсутствие необходимости в защите от компьютерных вирусов, троянских коней и им подобных;
- постепенный переход от универсального к единому формату данных.
Такими вот выводами может обернуться скучное исследование "тривиального" вопроса о первичности.
Юрий КРАСКОВ,
[email protected]
1 Впрочем, опытный образец был создан в среде MS DOS еще в 1995 году, а структура его ядра опубликована в "КВ" №6/2001
Комментарии
Страницы
Вообще-то HTML это способ представления тех самых данных, но никак не сами данные.
> Вполне достойной альтернативой HTML может стать формат PDF ...
Да ну бросьте :) Скорее XML. Уже есть стандарт - XHTML. Существует хорошая формула - XML + XSL = HTML. XML - это ваши данные, XSL - процессор по их обработке, выходом которого может быть HTML как частный случай. Задача XSL процессора трансформировать данные в представление или снова в данные (этот процесс может быть многоступенчатым). При желании можно и так сделать XML + XSL = PDF. Все зависит от того какой XSL Вы напишите.
Regards,
NikE
p.s. Хорошим примером использования XML-XSL идеологии в НЕ Интернет технологиях, является Visual.NET. Посмотрите в каком формате сделаны файлы проектов, сразу все поймете.
XML - не данные, а синтаксис описания данных.
> XML - не данные, а синтаксис описания данных.
С уточнением согласен.
Страницы