История языков разметки

История языков разметки

Все началось с папирусов

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

История ссылок в материалах восходит к папирусам и глиняным табличкам (3000 лет до н. э.), на которых были обнаружены перекрестные указания на другие работы. А в Александрийской библиотеке подготовкой аннотаций и ссылок занимались уже целенаправленно (300 лет до н. э.). Первые же системы, напоминавшие современный гипертекст, возникли в начале второго тысячелетия н. э. Они представляли собой всевозможные наборы пометок в печатных изданиях Библии, отсылающих человека к схожим по тематике разделам. Для этого, в частности, была детально продумана система адресации внутри священных текстов: каждая из книг Библии делится на главы, главы - на стихи, а стихи состоят из отдельных фраз. Подобный подход значительно облегчал подготовку подробных цитат и комментариев. Первым таким проектом стал, пожалуй, знаменитый "Декрет" Грациана 1140 г., в котором было систематизировано около 4000 текстов католической Библии и который положил начало новой богословской дисциплине - канонистике.

Легендарные "отцы гипертекста" Тед Нельсон (слева) и Даг Энгельбарт

История современного гипертекста начинается с июля 1945 г. Доктор Ванневар Буш, научный советник президента США Рузвельта, упомянул в своей статье "As We May Think" идею машины Memex. Она предназначалась для хранения различных видов научных материалов (в частности, на микрофишах), причем любые разделы каждого материала можно было связывать с любыми разделами других. Правда, сама машина так и не была реализована. Но автор описал в статье замысел сети связанных между собой информационных элементов, по которой можно было бы путешествовать, а также расширять ее добавлением своих материалов.

Идея получила развитие спустя 15 лет. Нью-йоркский издатель Стэнли Райс решил разработать универсальный гипертекстовый каталог, хранящий описания книг, а Норман Шарф, директор Ассоциации графических коммуникаций (Graphic Communications Associations, GCA), его поддержал. Ассоциация запустила проект GenCode, в рамках которого придумывались способы формального описания независимых друг от друга структуры и способа представления иерархически организованных документов. Результаты этого проекта появились только через 10 лет.

В 1963 г. легендарный компьютерный деятель Дуглас Энгельбарт, впоследствии изобретший манипулятор мышь, а тогда возглавлявший центр развития человеческих способностей в Стэнфордском исследовательском институте, изучал возможность создания обучающей системы HLAM/T (Human using Language, Artifacts, and Methodology, in which he is Trained). Он выдвинул идею интерактивного взаимодействия человека и машины, но реализовать ее на практике пока не сумел - существовавшие компьютеры способны были принимать данные только в виде наборов заранее подготовленных перфокарт.

Параллельно с Энгельбартом, хотя и независимо от него, бакалавр философии Теодор Холм Нельсон из Гарвардского университета увлекся идеей программы подготовки текстов, которая позволяла бы пересматривать сделанную работу, сравнивать различные элементы материала и отменять внесенные изменения. Нельсон назвал ее Xanadu. Он первым в мире предложил термины hypertext и hypermedia в 1965 г. на конференции Ассоциации компьютерной машинерии (Association of Computing Machinery, ACM). "Гипертекст, - заявил Теодор, - означает непоследовательное письмо, текст, который ветвится и предоставляет читателю выбор наилучшего варианта чтения на интерактивном экране". Тогда же появился первый вариант Xanadu, представлявший собой редактор текста для мэйнфреймов, написанный на ассемблере.

Нельсон мечтал о грандиозных перспективах, которые должен был открыть Xanadu. Он задумал перевести всю мировую литературу в электронный вид, а затем продавать тексты побайтно, с тем чтобы пользователь такой библиотеки мог заказывать нужный материал целиком или любыми частями. С этой целью в Xanadu закладывались передовые алгоритмы, позволявшие перемещаться из того или иного документа к любой подстроке другого, а также хранить все версии материалов, чтобы не возникало ошибок - прообразов часто встречаемой сегодня в Интернете ошибки отсутствия нужного документа (404-Document Not Found). Забегая вперед, отметим, что эта идея, к сожалению, оказалась для своего времени слишком передовой. После 30 лет развития проекта Нельсон уехал в Японию, где преподавал в университете Keio.

Зарождение гипертекста

Первым полноценным гипертекстовым приложением стала система Hypertext Editing System для мэйнфреймов IBM/ 360, которую в 1967 г. совместно с Теодором Нельсоном закончил Эндрис Ван Дам, возглавлявший в Браунском университете исследовательский коллектив, работающий при финансовой поддержке IBM. В ходе проекта Ван Дам выдвинул идею обратного возврата по ссылке (обязательная кнопка Back в любом современном браузере). В дальнейшем Hypertext Editing System была продана Хьюстонскому космическому центру и использовалась при подготовке документации для проекта Apollo.

Год спустя Ван Дам создал первую коммерческую гипертекстовую систему FRESS (File Retrieval and Editing System) для 16-разрядного компьютера DPD-8 с графическим модулем IMLAC, применявшегося в качестве интеллектуального терминала. Она эксплуатировалась компанией Philips на протяжении 20 лет.

К тому времени появились практические результаты деятельности Дугласа Энгельбарта. Он продемонстрировал на конференции Fall Joint Computer Conference систему NLS (oN Line System), способную обрабатывать сотни тысяч документов (она существует и по сей день в виде коммерческого продукта Augment). В процессе ее создания Энгельбарт предложил идеи систем поддержки коллективной работы в масштабе реального времени, телеконференций, электронной почты, онлайновых подсказок и многооконного интерфейса.

В 1969 г. сотрудник IBM Чарльз Голдфарб возглавил проектирование компьютерной системы обслуживания юридических контор. Под его руководством был создан первый язык разметки документов Generalized Markup Language (GML), в котором была реализована концепция типа документа (формально определенного шаблона, описывающего схему внутреннего построения схожих документов) и вложенных друг в друга структур. GML не зависел ни от марки компьютеров, ни от операционной системы, и IBM удалось перевести 90% своей документации в этот формат.

К 1970 г. завершился проект GenCode Ассоциации GCA. Стало ясно, что для разных задач будут требоваться разные способы описания документов (говоря современным языком, не удалось обойтись ограниченным набором тегов разметки текста), поэтому возникла потребность в расширяемой метасхеме такого описания. А чтобы можно было включать одни документы в другие, авторы проекта решили ориентироваться на гипертекстовый способ организации данных. Основа для реализации этих требований в виде GML уже существовала, но трудно было остановиться на конкретном технологическом решении: слишком расплывчато выглядели перспективы гипертекста из-за отсутствия на рынке персональных компьютеров.

Через два года Дональд Мак-Кракен и Роберт Акскин, сотрудники Университета Карнеги - Меллона, запрограммировали первую гипермедиа-систему ZOG, представлявшую собой базу из так называемых кадров - информационных элементов, связанных с ними описаний их структуры и набора меню для перехода к другим кадрам. Сначала ZOG работала только на текстовых терминалах IBM, но вскоре была перенесена на сеть из 28 графических рабочих станций PERQ ядерного авианосца Carl Vinson. В дальнейшем ZOG переросла в систему управления знаниями Knowledge Management System с графическим интерфейсом для компьютеров Sun и HP Apollo.

Идею гипермедиа в 1974 г. расширил автор термина "гипертекст" Теодор Нельсон. Он предложил понятие гиперграммы (оно, впрочем, не прижилось), с помощью которого можно было организовывать взаимосвязанную сеть спрайтовых картинок и даже создавать фильмы с меняющимся по требованию пользователя сюжетом. Эту идею воплотила в 1978 г. в системе Aspen Movie Map группа ученых Массачусетского технологического института во главе с Андреем Липпманом. Система предлагала виртуальное путешествие по Аспену (шт. Колорадо). Машина киногруппы предварительно объехала весь город, засняв всевозможные места под разными углами с помощью четырех камер, а затем фотографии были оцифрованы и заложены в Aspen. Пользователям было доступно не только множество навигационных средств, но и глобальная карта для быстрого переключения к нужной точке города.

К 1978 г. комитет по обработке информации Американского национального института стандартов (ANSI) всерьез заинтересовался языками подготовки гипертекстовых данных. Чарльз Голдфарб стал в этом комитете руководителем нового направления, связанного с формированием стандарта на мощный язык разметки документов, который получил название SGML (Standard General Markup Language). В его основу был заложен GML. Первый рабочий вариант спецификации появился в 1980 г. А в 1983-м Ассоциация GCA приняла шестую рабочую версию SGML в качестве промышленного стандарта (GCA 101-1983), поддержанного Министерством обороны и Налоговым управлением США. Спустя два года сформировалась международная группа пользователей SGML. Начался расцвет гипертекстовых технологий.

В том же 1983-м увидела свет очередная прикладная гипертекстовая система Symbolics Document Examiner, созданная под руководством Джанет Уолкер. С помощью этой системы удалось перенести в электронный вид 8 тыс. страниц печатной документации к компьютерам Symbolics. Интересно, что в ней впервые была реализована концепция пользовательских закладок. А написанная на Лиспе программа NoteCards для ведения заметок с применением перекрестных ссылок, разработанная компанией Xerox, порадовала прокручиваемыми окнами, возможностью работы с единой системой форматирования для всех заметок, а также многооконной системой, где просмотрщику заметок (прообразу будущих браузеров) отводилось собственное окно.

ItWeek №(403)37`2003 от 07.10.2003
Помещена в музей с разрешения редакции 16 августа 2018