«Открытые системы»

Появлению языка HyperText Markup Language и его наследников предшествовали великие работы в области языков разметки и гипертекстов

Восточная мудрость гласит: «Когда ученик готов, находится учитель». Тим Бернерс-Ли, автор HTML, оказался в состоянии стать последователем Чарльза Гольдфарба, с именем которого связано создание языка SGML — вероятно, самого мощного инструмента для разметки текстов. Но в самой этой идее ничего нового нет. Специальные символы для разметки текстов издавна использовали корректоры, элементы разметки можно обнаружить в командах roff, nroff и troff, призванных обеспечить вывод текста независимо от типа устройства печати. Несколько раньше, в 1967 году, канадским полиграфистом Уильямом Танниклифом была разработана концепция GenCod, которая впервые позволила решить важнейшую задачу, отделить содержание документа от его формата. Позже для этой цели стали использоваться языки разметки. Аналогичные работы вел американец Стенли Райс. (С появлением языка XML был сделан следующий шаг, интерпретация содержания, но это особая тема.)

язык Standard Generalized Markup Language стал первоосновой современной Паутины. Второй ее первоисточник — гипертекст

С момента появления самых первых систем работы с текстами на компьютерах все электронные документы содержали те или иные символы для управления печатью (CR, LF и др.). Однако их возможности были весьма ограниченны, методы разметки были привязаны к определенным принтерам, а с появлением новых устройств с более широкими возможностями (такими, скажем, как принтер с шариковой головкой) потребовались новые средства для управления печатью. Поэтому исследовательская группа корпорации IBM, возглавляемая Гольдфарбом, в состав которой входили также Эдвар Моше и Пэймонд Лурье, разработала — изначально для юридических приложений — язык Generalized Markup Language (аббревиатуру GML еще можно расшифровывать по именам авторов). При разработке GML были использованы достижения полиграфистов Танниклифа и Райса. Вскоре GML получил корпоративное признание, был реализован на мэйнфреймах IBM. С тех пор более 90% документов корпорации было подготовлено с использованием этой технологии.

Последующие исследования в области структуризации документов Гольдфарб вел самостоятельно; в конечном итоге они привели его к созданию языка Standard Generalized Markup Language (SGML). В период с 1978-го по 1985 год язык проходил сложный процесс стандартизации. В конечном итоге он был принят и American National Standards Institute (ANSI), и европейским агентством Computer Office of Official Publications. На следующем этапе SGML попал в европейский центр исследований физики элементарных частиц (CERN). Здесь первое средство для использования SGML разработал Андерс Берглунд, а Эрик ван Эрвиген написал одно из первых руководств по использованию SGML. В CERN была разработана и технология CERNDOC на основе SGML, которая в последующем оказалась столь успешной, что была принята американской ассоциацией издателей American Association of Publishers. Одним из активных пользователей этой технологии был Бернерс-Ли, поэтому нет ничего удивительного в том, что при разработке HTML он использовал свой опыт работы с SGML.

Впрочем, развитием SGML занимались многие. Одной из самых заметных персон был Юрий Иванович Рубинский, писатель и основатель канадской компании SoftQuad Software, которая первой в 1994 году выпустила коммерческий продукт HoTMetaL для поддержки HTML, основанный на ее предыдущем продукте Author Editor, поддерживавшем SGML.

Таким образом, SGML стал первоосновой современной Паутины. Второй ее первоисточник — гипертекст. Этот термин был предложен в 1965 году Тедом Нельсоном, который определил его следующим образом: «Массив текстов или графики, объединенных сложными связями, которые с достаточной полнотой не могут быть представлены в бумажной форме. Связи могут включать карты контента, ссылки, аннотации, комментарии и другие инструменты для указания». Гипертекст может быть полноценно реализован только в электронной форме, однако предпосылки к его возникновению обнаруживаются задолго до появления компьютеров. Впервые аннотирование использовали в Александрийской библиотеке за 300 лет до нашей эры, а из 37 томов Естественной истории Плиния (79 год) Книга первая представляла собой оглавление. С появлением книгопечатания способы доступа к информации совершенствовались; вершиной этих работ стали грандиозные, но так и не реализованные проекты бельгийского библиографа Пола Отле.

Приблизился к созданию гипертекстовых решений Ванневар Буш. В своей эпохальной статье As We May Think, опубликованной в Atlantic Monthly, представляя гипотетическую машину memex и предвосхищая Нельсона, он писал: «Появятся новые типы энциклопедий, где фрагменты будут объединены ассоциативными связями, которые могут обрабатываться средствами memex». Задуманная Бушем машина должна была хранить книги и другие документы, обеспечивать доступ к ним и таким образом расширять творческие возможности человека.

Эта статья была прочитана Дагом Энгельбартом и стала стимулом для его долговременных исследований в области систем, расширяющих интеллектуальные возможности человека. Эти работы в конечном итоге привели его к созданию лаборатории Augmentation Research Center, где была построена уникальная для своего времени система NLS (oNLine System). Она стала стимулом для последовавших за ней работ по персонализации вычислительных систем; компьютерная мышь оказалась самым знаменитым отпрыском этого проекта. Сейчас Энгельбарт возглавляет свой собственный, частный институт и работает над «открытой системой гипердокументов» — структурой, построенной на основе стандартов и открытых кодов и предназначенной для коллективной работы и управления знаниями. В качестве хранилища в ней используется «динамический репозитарий знаний» (Dynamic Knowledge Repository), а процессором служит инструмент, названный «гиперскопом». По замыслу гиперскоп должен позволять просматривать разнородные документы и устанавливать между ними связи.

В 1967 году Энди ван Дам и Тед Нельсон создали систему Hypertext Editing System (HES), которая использовалась при подготовке документации в рамках космической программы «Аполлон». Позже ван Дам разработал еще одну систему, File Retrieval and Editing System (FRESS), заимствовавшую интерактивные подходы из NLS. В этой системе впервые была реализована функция отката, без которой не мыслится ни один современный текстовый процессор.

Позже Нельсон загорелся идеей проекта, названного им Xanadu. Сказочная страна Ксанаду пригрезилась в конце XVIII века английскому поэту Сэмюэлу Колриджу под влиянием опиумного опьянения; с тех пор это название используют для обозначения несбыточной мечты. Происхождение названия Нельсон описал в книге Literary Machines («Ученые машины»), опубликованной в 1981 году. В следующей книге, Dream Machines (1988 год, «Машины мечты»), Нельсон описал три вида гипертекста, из которых нам в наибольшей степени известен первый — простые ссылки (links). Расширенные ссылки (expansion links) и параллельное представление текстов известны меньше. Проект Xanadu, начатый в 1972 году, был написан на двух самых популярных языках программирования того времени, Алголе и Фортране, и содержал целый ряд нововведений по части структур данных.


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


Теодор Холм-Нельсон родился в 1937 году. В 1959 году он получил диплом бакалавра по философии в высшей школе Swarthmore College, в 1963 году — степень магистра социологии в Гарвардском университете. В 1960 году он начал работу над проектом Project Xanadu по созданию компьютерной сети с простым пользовательским интерфейсом. Результаты работы он отразил в своих книгах, вышедших в 1974 и 1981 годах. Фактически большую часть жизни Нельсон посвятил своему проекту и его защите. В то же время сам проект фактически провалился по целому ряду причин. Часть заложенных в него идей нашла воплощение в принципах WWW. Кроме того, Нельсон работал над новой информационной структурой ZigZag, с описанием которой можно познакомиться на сайте проекта Project Xanadu. Сейчас Нельсон занимается философией и читает лекции в Оксфордском университете по специальностям, связанным с информацией, компьютерами и человеко-машинным взаимодействием. Вклад Нельсона в современные ИТ-технологии носит концептуальный характер: в 1963 году он предложил термин «гипертекст», он также является автором таких слов, как, например, гипермедиа и виртуальность.


Юрий Рубински (1952 — 1996) родился в Ливане; когда ему было три года, семья переехала в Канаду. Рубински закончил университет Brock University, кроме того, он обучался архитектуре в Университете города Торонто. После окончания университета он перепробовал довольно много занятий, пока не остановился на издательской деятельности. В 1978 году Рубински прошел обучение на курсах издателей Radcliffe Publishing в Гарвардском университете. В 1984 году с тремя товарищами он основал небольшую технологическую компанию SoftQuad, заняв пост ее президента. SoftQuad разработала и вела успешную продажу нескольких вариантов инструментов SGML, в том числе первый коммерческий продукт для авторов на базе HTML, который назывался HoTMetaL. Рубински приложил много усилий к объединению всего SGML-сообщества, чем завоевал всеобщее уважение. Кроме того, он специально занимался вопросами доступности программных продуктов и информации людям с физическими недостатками, например пытался применить SGML для разработки средств доступа для слепых. В Канаде Рубински известен также как один из основателей и директоров влиятельного издательства Banff Publishing Workshop.