Основной вопрос программирования

Что первично - программа или данные?

Поскольку данные не могут падать с неба, а формируются только с помощью программ, то вопрос о первичности выглядит, на первый взгляд, слишком тривиальным, чтобы вообще обращать на него какое-либо внимание. Но ведь программы тоже не падают с неба, а создавать их можно только под заранее известный или уже существующий формат данных. Следовательно, ответ на "тривиальный" вопрос становится не столь уж простым:

  1. Если существует только одна программная среда под определенный формат данных, то она будет первична по отношению к этому формату, поскольку для любой иной среды он будет недоступен;
  2. Если формат данных поддерживается различными программными средами, то он будет первичен по отношению к ним, поскольку его существование не зависит от каждой из них в отдельности.

После такого уточнения вопрос о первичности из тривиальных переходит в разряд стратегических и даже становится основным, поскольку только на такой основе становится очевидной тенденция перехода программного инструментария в подчинение к универсальным форматам данным. В прежние времена эта тенденция проявлялась, в основном, неявно, т.е. в средствах экспорта-импорта. Теперь даже невооруженным взглядом можно заметить, как формат HTML без особых усилий подминает под себя такого универсального супергиганта, как MS Word.

Это происходит не из-за особых функциональных качеств формата HTML, а только вследствие его универсальности, которой потребители информации (главным образом, из интернета) отдают явное предпочтение, несмотря на его очевидную архаичность и полную неспособность обеспечивать эффективный машинный доступ к отдельным данным. В этом формате невозможно поддерживать целостность данных на таком же уровне, как, скажем, в электронных таблицах или СУБД. Зачастую приходится также отказываться от некоторых разновидностей дизайна, если они не поддерживаются по умолчанию в MS Internet Explorer. Можно абсолютно уверенно утверждать, что у формата HTML нет и не может быть никакого будущего, поскольку такая технология может существовать только в режиме, максимально приближенном к ручной обработке данных. Этот формат вполне отражает состояние самого большого кризиса в компьютерной индустрии, которого она никогда не испытывала и, похоже, еще до конца не прошла.

 

Вполне достойной альтернативой HTML может стать формат PDF, в котором информация сохраняется вместе со шрифтами, а ее графическое отображение вначале фиксируется при помощи виртуального принтера (Acrobat Distiller) и затем может воспроизводиться средствами Adobe Acrobat. Однако за однозначность воспроизведения информации формату PDF приходится платить своей самостоятельностью, поскольку все, что касается обработки данных, должно выполняться в другой программной среде.

Вопрос о том, какой формат может заменить HTML, совсем не праздный. Если уж такой непритязательный (с точки зрения компьютерной обработки данных) формат, как HTML, расчищает себе дорогу, словно мощный бульдозер, то можно представить себе, какой триумф ожидает появление не только универсального, но и программируемого формата данных? Разумеется, что это означало бы и триумф стратегии, основанной на первичности данных по отношению к программной среде. Пока такие технологии еще не появились1, однако путь к ним лежит, опять-таки, через основной вопрос, поскольку для того, чтобы не заблудиться на этом пути, нужно будет определиться, в каких случаях первичность должна оставаться за программной средой, а в каких - нет.

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

Вполне очевидно, что первые ростки будущего единого формата данных могут появиться только в поддерживающей его (системной) программной среде, которая, по крайней мере, на начальном этапе будет первичной по отношению к нему. Однако поддержка целостности данных для решения конкретных задач должна обеспечиваться (прикладными) программными модулями, создаваемыми с помощью встроенного (макро)языка программирования. Эти модули должны быть уже вторичными по отношению к конкретным позициям данных. Именно так обстоит дело в электронных таблицах типа MS Excel, однако этот табличный формат данных не может быть универсальным, а потому его применение ограничено лишь отдельными локальными задачами.

Если же табличный формат используется как основной и универсальный элемент баз данных, то его поддержка изнутри (т.е. программными модулями, привязанными к позициям данных) становится невозможной, т.к. связи между таблицами должны управляться из внешней (первичной) программной среды. При этом, несмотря на универсальную структуру отдельных таблиц, база данных в целом не может быть универсальной, т.к. для ее поддержки нужно каждый раз создавать соответствующую программную среду. Отсюда можно сформулировать два основных требования к технологиям, ориентированным на единый формат данных.

Первое требование - переход от табличных форматов данных к иерархическим, поскольку именно такая структура данных является наиболее универсальной, а относительно небольшое число параметров управления для иерархических структур ("КВ" №29/2000) позволяет в полной мере обеспечить их программируемость, т.е. автоматизированную поддержку целостности данных.

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

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

  • независимость скорости доступа к данным от объема источника;
  • прозрачность технологий для внесения изменений в отдельные программные модули;
  • актуализация (изменение) технологий с коротким циклом жизни в процессе их применения;
  • обозримые и исчерпывающие результаты запросов в системах типа интернет;
  • отсутствие необходимости в защите от компьютерных вирусов, троянских коней и им подобных;
  • постепенный переход от универсального к единому формату данных.

Такими вот выводами может обернуться скучное исследование "тривиального" вопроса о первичности.

Юрий КРАСКОВ,
c_city2000@mail.ru

1 Впрочем, опытный образец был создан в среде MS DOS еще в 1995 году, а структура его ядра опубликована в "КВ" №6/2001

Версия для печатиВерсия для печати

Номер: 

20 за 2002 год

Рубрика: 

Новые технологии
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Страницы

Аватар пользователя Dave
mike:

...теорему о неполноте арифметики...

что имеется ввиду? можно подробнее?

Аватар пользователя mike
Подробнее см. у Курта Геделя. Прикольно, что через 2,5 м-ца кто-то поднял такой вопрос. А может, по ником "Дейв" скрывается г-н Красков, нарывающий себе материал на очередной менторский опус?
Аватар пользователя Kunak
Osnovnoy vopros - eto zarplata i normalnyi Language+Tools.

10+ let na C/C++ i nikakogo udovolstviya. Gde prilichnye compilery prilichnyh yazikov visokogo urovnya?

Itvinite za latinizu.

Аватар пользователя Викинг
Не надо на языки/компиляторы грешить - полно каких угодно и чего угодно.

Другой вопрос, что не всегда получается пользоваться чем хочется.

Аватар пользователя Kunak
to Viking: tak ob etom i rech. Esli dlya sebya -- to ya predpochitayu yazik S (on je R). Moguchaya vesch, moguchaya Library, novie versii 2 raza v god + vse eto Free (t.e. 100% legalno, koe-gde eto ochen' vajno).

Vsem privet.

Аватар пользователя Дядя
Я полагаю, что Красков пишет книгу, которая ВПИШЕТ ЕГО ИМЯ ЗОЛОТЫМИ БУКВАМИ В ИСТОРИЮ МИРОВОЙ НАУКИ. ИМЯ ЕГО БУДЕТ СВЕТИТЬСЯ В ОДНОМ РЯДУ С ЭЙНШТЕЙНОМ, НЬЮТОНОМ, ЭЙЛЕРОМ, БОЙЛЕМ - МАРИОТТОМ, ГЕЙ - ЛЮССАКОМ И МАРИЕЙ СКЛАДОВСКОЙ КЮРИ. НАКОНЕЦ ЧЕЛОВЕЧЕСТВО ПОЙМЕТ КАК ОНО ЗАБЛУЖДАЛОСЬ. КРАСКОВ УКАЖЕТ ЕМУ СВЕТЛЫЙ ПУТЬ. И ВСЕ СКАЖУТ ЕМУ - "СПАСИБО ЮРА" (вот так! ЮЛКИ-ПАЛКИ! МИКРОСКОП)

Страницы