Главная arrow Средства разработки arrow История языков разметки
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

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

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

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

История ссылок в материалах восходит к папирусам и глиняным табличкам (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-разрядного компьютера PDP-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, порадовала прокручиваемыми окнами, возможностью работы с единой системой форматирования для всех заметок, а также многооконной системой, где просмотрщику заметок (прообразу будущих браузеров) отводилось собственное окно.

В 1986 г. Международная организация по стандартизации ISO одобрила стандарт SGML ISO-8879. Основанный на языке GML, он позволил отказаться от конкретных способов представления информации и сосредоточить усилия на продумывании структуры документов с помощью правил определения собственных тегов форматирования, их атрибутов и синтаксиса использования. Для создания конкретных прикладных наборов тегов было введено понятие "SGML-приложение". Так, популярный сегодня язык разметки гипертекста HTML является SGML-приложением.

SGML оказался очень мощным и универсальным. Он требовал точного описания всех нюансов создаваемого синтаксиса документа и подробных правил формирования тегов. В рамках SGML была изобретена концепция DTD (Document Type Definition) – определение типа документа. Она позволила связать конкретные синтаксические правила разбора с заданными способами организации структуры документов, после чего многие компании приступили к активной разработке программ анализа SGML-текстов.

Следующий год вошел в компьютерную историю первой международной конференцией по гипертексту Hypertext'87 и выходом гипертекстовой системы Hypercard для широкого круга пользователей. Ее автором был Билл Аткинсон, сотрудник Apple Computers, разработчик первого графического редактора MacPaint. Он начал создавать Hypercard для собственных нужд, чтобы отслеживать появление своих статей в прессе. Затем Аткинсона заинтересовали алгоритмы эффективного поиска и упаковки данных, и он решил реализовать новые замыслы в общедоступном пакете. Этот фанатичный программист, любимым языком которого был ассемблер, поднимался ежедневно в четыре утра и ухитрился перенести каталог из ста тысяч книжных карт библиотеки Лос-Гейтос в формат Hypercard, в результате чего поиск в Hypercard по запросу к 15-мегабайтной БД сократился с 10 мин до 2 с.

Эта система быстро завоевала популярность у пользователей Apple и устанавливалась на каждый компьютер Mac.

Судьба же системы Xanadu Теодора Нельсона оказалась менее удачной. В 1988 г. компания Autodesk купила основанную им фирму Xanadu Operating, но потеряла интерес к проекту и закрыла его через пять лет.

1989 г. известен появлением идеи Всемирной Сети. Она была предложена (а реализована через два года) Тимом Бернсом Ли, программистом Европейского центра ядерных исследований CERN, расположенного в Женеве. Тогда же он создал и новое SGML-приложение, известное сегодня как язык разметки HTML. А сам SGML расширился стандартизованной ISO таблицей стилей DSSSL (ISO 10179), позволившей дополнять описания структуры SGML-документа независимыми от платформы способами его представления на экране. Через год Бернс Ли написал на Objective-C первый браузер для компьютера NeXT. Браузер включал в себя также первый редактор HTML-документов. А в декабре 1990-го в СССР при Министерстве связи был открыт Научно-технический центр гиперинформационных технологий, известный как ГНТЦ "Гинтех".

Популярность Сети росла. На следующий год Роберт Каилау, коллега Бернса Ли, сделал браузер Samba для Мака. В Ленинградском электротехническом институте появилась первая версия пакета "ГиперМетод" для DOS одноименной фирмы (которая, кстати, на основе своих разработок устроила к 300-летнему юбилею Санкт-Петербурга живую Интернет-трансляцию с художественной подсветкой самой высокой в городе 310-метровой телевизионной башни).

В 1992 г. Том Брюс распространил первый браузер Cello для компьютеров класса IBM PC, после чего множество компаний начали выпускать собственные Интернет-навигаторы. Это привело к массовой нестыковке, потому что каждый производитель браузеров старался дополнить тогда еще крайне ограниченный HTML своим набором тегов.

В феврале 1993 г. в Национальном центре суперкомпьютерных приложений США под руководством Марка Андриссена был создан браузер Mosaic для Unix, знаменитый первым графическим интерфейсом среди себе подобных. Летом Марк подготовил версии для Мака и Windows. А на следующий год группа разработчиков Mosaic, возглавляемая Джеймсом Кларком, создала собственную корпорацию Netscape Communications (которая вскоре потрясла Уолл-стрит самыми быстрыми в мире темпами роста) и затем выпустила коммерческий браузер Netscape. Современное название Netscape Navigator 2.0 он получил со второй версии, когда в действовавший стандарт HTML эта корпорация добавила множество новых тегов.

Ведущие информационные корпорации, недовольные неразберихой тегов HTML, сформировали в декабре 1994 г. консорциум WWW (W3C), быстро взявший под свой контроль работу практически над всеми стандартами важнейших технологий Сети. Надо отметить, что формально W3C выпускает только рекомендации и некоторые компании их игнорируют, но в целом рекомендации W3C признаются всем рынком в качестве стандартов.

Тем временем была утверждена версия HTML 2.0 – такую ответственность взяла на себя Международная комиссия по стандартам в Интернете (Internet Engineering Task Force), разрабатывавшая сетевые протоколы. Но HTML 2.0 все же оставался SGML-приложением, ориентированным не на более востребованные в практических Web-проектах задачи форматирования текста, а на построение структуры документа.

В феврале 1996 г. Билл Гейтс провозгласил: "HTML стал нашим типом данных". Это было объявлением войны новому конкуренту Netscape. Интересно, что всего пару лет назад эксперты Microsoft предлагали руководству обратить серьезное внимание на Интернет, но тогда амбициозные менеджеры корпорации их не послушали. Теперь пришла пора наверстывать упущенное. Впрочем, ошибки допустили и конкуренты Microsoft. Джеймс Кларк не догадался выкупить исключительные права на браузер Mosaic, и его исходные тексты через фирму Spyglass приобрела Microsoft. В результате появившиеся летом обновленные браузеры Netscape Navigator 3.0 и Internet Explorer 3.0 оказались основанными на одном ядре, причем в последнем пакете была реализована поддержка всех тегов конкурента. С этого момента чаша весов стала неуклонно склоняться в его пользу. Вдобавок Microsoft решила распространять Internet Explorer бесплатно, и рыночная доля Netscape Navigator стремительно пошла вниз.

Между тем Дэйв Рэггетт, специалист W3C, трудился над третьей версией HTML 3.0 (известной также как HTML+). Эта спецификация из-за конкуренции между производителями Web-приложений, оказывавших давление на W3C, так и не была закончена, а консорциум сосредоточил усилия не на технологической, а на политической стороне вопроса, стараясь примирить враждовавших разработчиков браузеров. В результате была достигнута договоренность о выпуске в январе 1997-го стандарта HTML 3.2, объединившего наборы тегов, поддерживаемые и Netscape Navigator, и Internet Explorer. На скорейшем выходе HTML 3.2 настаивали также IBM, Novell и Sun.

Не выдержав давления софтверной империи Билла Гейтса, Netscape стала допускать новые ошибки. Все еще веря в собственное влияние на рынок, она не отнеслась с должным вниманием к новой технологии Cascading Style Sheets (CSS, аналог таблиц стилей DSSSL, только для HTML), реализовав ее поддержку в виде не очень удобной технологии JASS (JavaScript Accessible Style Sheets), требовавшей знания программирования. Microsoft же наоборот выделила возможность создания сценариев в HTML-документах, предложив пользователям сразу два скрипт-языка – JScript и VBScript. Эта корпорация также начала финансировать подразделение W3C, ответственное за разработку новых рекомендаций HTML, фактически взяв под свой контроль процесс стандартизации браузеров.

CSS мгновенно завоевала популярность. Она позволила разделять логическую структуру HTML-документов и способы их форматирования и отображения на экране. При этом технология CSS оказалась весьма гибкой и дала возможность создавать вложенные (каскадные) стили с иерархической системой подчинения и наследования возможностей. Симпатии пользователей окончательно переместились к браузеру Internet Explorer. А компания Netscape была куплена сетевым гигантом America Online за 8,98 млрд. долл.

Продолжалась подготовка нового стандарта HTML 4.0. Его рабочая версия стала доступной 8 июня 1997 г., а в декабре появилась и официальная рекомендация W3C. Война браузеров и наборов тегов закончилась, поэтому HTML 4.0 оказался на удивление стабильным. Он действует до сего дня, вышла только одна небольшая промежуточная версия 4.01 с исправленными ошибками спецификации. Интересно, что HTML 4 был снова признан W3C языком логической разметки, хотя всего три года назад казалось, что главное назначение этого языка – форматирование документов. Но теперь существовала технология CSS, по поводу которой W3C высказалась однозначно: все, что связано с визуальными аспектами отображения HTML-документа, разработчики должны выносить в CSS-таблицы.

В конце 90-х годов быстро набрал популярность новый язык разметки – XML (о нем будет рассказано в следующий раз). Он представляет собой упрощенный вариант SGML и также позволяет создавать пользовательские XML-приложения.

26 января 2000 г. вышла спецификация нового языка разметки XHTML 1.0, в которую консорциум W3C предложил переносить существующие HTML-материалы. Она была названа "переформулировкой HTML 4.0 в виде приложения XML 1.0" (хотя ранее HTML считался приложением SGML). Разработчики дополнительно получили три DTD-документа для описания типов, определяемых требованиями HTML 4, поэтому теперь можно обрабатывать XHTML-файлы с помощью практически любых XML-анализаторов. Очень важной оказалась возможность создания в XHTML-приложении собственных тегов (ведь XHTML основывается на XML). Да и компании, производящие интеллектуальные телефоны с возможностью выхода в Интернет, пообещали поддержать XHTML в микробраузерах. А W3C назвал XHTML технологией, предназначенной для мягкого перехода с HTML на XML.