Писец (язык разметки) - Scribe (markup language)
Писец это язык разметки и обработка текста система, которая впервые использовала описательная разметка.[1][2] Когда он был предложен, Scribe был революционным, потому что он впервые включал чистую разделение презентации и содержания.[3][4][5]
История
Начало
Scribe был разработан и разработан Брайан Рид из Университет Карнеги Меллон. Это стало предметом его докторская диссертация 1980 г., за что получил Ассоциация вычислительной техники с Премия Грейс Мюррей Хоппер в 1982 г.[1]
Рид представил документ с описанием Scribe на той же конференции в 1981 году, в которой Чарльз Гольдфарб представлен GML (разработан в 1969 г.),[6] непосредственный предшественник SGML.
Scribe продан Unilogic
В 1979 году, в конце своей карьеры аспиранта, Рид продал Scribe компании-разработчику программного обеспечения в Питтсбурге под названием Unilogic (позже переименованной в Scribe Systems[7]), основан Майкл Шамос, еще один ученый-компьютерщик из Карнеги-Меллона, чтобы продать программу. Рид сказал, что он просто искал способ разгрузить программу для разработчиков, чтобы она не стала достоянием общественности.
Майкл Шамос был втянут в спор с администраторами Carnegie Mellon по поводу прав интеллектуальной собственности на Scribe. Спор с администрацией был урегулирован во внесудебном порядке, и университет признал, что не имеет претензий к Scribe.[8]
Бомба замедленного действия
Рид согласился добавить набор функций, зависящих от времени (называемых "бомбы замедленного действия "), который деактивировал свободно копируемые версии программы по истечении 90 дней. Чтобы избежать деактивации, пользователи платили компании-разработчику программного обеспечения, которая затем выпускала код, обезвреживающий внутреннюю бомбу замедленного действия.
Ричард Столмен усмотрел в этом предательство программиста этос. Вместо того, чтобы уважать понятие «разделяй и разделяй одинаково», Рид дал компаниям возможность заставить программистов платить за доступ к информации.[9]
Столлмана Texinfo "частично основан на Scribe Брайана Рейда и других языках форматирования того времени".[10]
Использование текстового процессора Scribe
Использование Scribe включало двухэтапный процесс:
- Набираем файл рукописи с помощью любого текстового редактора, соответствующего разметке Scribe.
- Обработка этого файла с помощью компилятора Scribe для создания связанного файла документа, который можно распечатать.
В языке разметки Scribe слова, строки, страницы, интервалы, заголовки, основания, сноски, нумерация, оглавления и т. Д. Определены аналогично HTML. Компилятор Scribe использовал базу данных стилей (содержащую определения формата документа), которая определяла правила форматирования документа в определенном стиле.
Из-за разделения между содержанием (структурой) документа и его стилем (форматом) писателям не нужно было заботиться о деталях форматирования. В этом есть сходство с Латекс система подготовки документов Лесли Лэмпорт.
Язык разметки
Идея использования языка разметки, в котором метаинформация о документе и его форматировании содержалась в самом документе, впервые получила широкое распространение в программе под названием СТОК; Scribe содержал первую надежную реализацию декларативного языка разметки.[11]
В Scribe разметка была введена знаком @, за которым следовал либо блок Begin-End, либо прямой вызов токена:
@Heading (The Beginning) @Begin (Quotation) Давайте начнем с самого начала, очень хорошее место для начала @ End (Quotation)
Также можно было передавать параметры:
@MakeSection (tag = начало, title = "Начало")
Обычно большие документы состоят из глав, каждая из которых находится в отдельном файле. Затем на эти файлы ссылался файл мастер-документа, тем самым объединяя многочисленные компоненты в один большой исходный документ. В главном файле обычно также определяются стили (например, шрифты и поля) и объявлены макросы, такие как MakeSection, показанный выше; макросы имели ограниченные программные возможности. Из этого единственного объединенного источника Scribe вычислил номера глав, номера страниц и перекрестные ссылки.
Эти процессы воспроизводят функции более поздних языков разметки, таких как HTML. Размещение стилей в отдельном файле дало некоторые преимущества, например Каскадные таблицы стилей, а запрограммированные макросы предвосхитили аспекты манипулирования документами JavaScript.
Связанное программное обеспечение
В FinalWord текстовый процессор от Знак единорога, который стал Borland с Спринт, содержал язык разметки, который напоминал упрощенную версию Scribe's. До того, как быть упакованным как FinalWord, более ранние версии редактора и форматировщика продавались отдельно как МИНС ("MINCE не завершена Emacs ") и Scribble соответственно.
Смотрите также
Рекомендации
- ^ а б «1982 - Брайан К. Рид». Премия Грейс Мюррей Хоппер. Получено 2009-02-24.
За его вклад в области компьютеризованного создания текстов и наборных систем, в частности за Scribe, который представляет собой большой шаг вперед в этой области. Он воплощает в себе несколько инноваций, основанных на исследованиях информатики в области проектирования языков программирования, систем, основанных на знаниях, компьютерной обработки документов и типографики.
- ^ «Писец (ID: 2481 / scr010) - Язык форматирования текста». Интернет-историческая энциклопедия языков программирования (hopl.info). Получено 2009-02-24.
Брайан Рид. Новаторский язык форматирования текста. Причина, по которой Рид получил медаль Хоппера в 1982 году.
- ^ Конференция "Технологии разметки '98. Повестка дня и расписание". xml.coverpages.org. Ноябрь 1998. Получено 2009-02-24.
Работа Брайана Рейда с системами разметки началась в 1970-х годах. Он независимо изобрел и внедрил описательную разметку и развил ее теорию. Его система Scribe, возможно, была самым четким разделением структуры и формата из когда-либо созданных. Его диссертация по этому вопросу была уже завершена в 1981 году, когда он выступил в Лозанне на той же сессии, где Чарльз Гольдфарб публично представил GML; SGML был предложен годом позже
- ^ «Связывание XML». xml.indelv.com. Ноябрь 1998. Получено 2009-02-24.
«Обобщенная», «общая» или «описательная» разметка обнаруживалась несколько раз, по-видимому, независимо. Scribe [Reid 1981] - одна из первых программ форматирования, основанная на структуре, а не на командах форматирования.
- ^ Брайан К. Рид, «Высокоуровневый подход к компьютерному форматированию документов», Труды 7-го симпозиума ACM SIGPLAN-SIGACT по принципам языков программирования, POPL '80, стр. 24–31 Дои:10.1145/567446.567449
- ^ см. статью GML Wiki
- ^ Пример использования оптимизации драйвера принтера PostScript, Adobe Systems, Техническая нота № 5042, 31 марта 1992 г. Стр. 5.
- ^ The Chronicle: 10 августа 2001 г .: 2 ученых столкнулись в конфликте авторских прав
- ^ Уильямс, Сэм (март 2002). «Свободен как в свободе - крестовый поход Ричарда Столмена за свободные программы». О'Рейли. Получено 2008-09-26.
Для Рида сделка была беспроигрышной. Scribe не стал достоянием общественности, и Unilogic окупила свои инвестиции. Для Столмена это было предательство идеала программиста в чистом виде. Вместо того, чтобы уважать понятие «разделяй и разделяй», Рид предоставил компаниям возможность заставить программистов платить за доступ к информации.
- ^ TexInfo
- ^ Крокфорд, Дуглас (2007-06-28). "Писец". Получено 2010-04-12.
внешняя ссылка
- Докторская диссертация Рида 1980 г., «Писец: язык спецификации документов и его компилятор». (Примечание: по состоянию на апрель 2014 г.[Обновить], пропущена последняя страница.)
- Автореферат диссертации.
- Основной доклад Брайана Рида на конференции Markup Technologies '98 в PowerPoint
- Причина, по которой Брайан Рид получил медаль Хоппера за писца, на Интернет-историческая энциклопедия языков программирования
- Писец, Вводное руководство пользователя, Брайан Рид, 1978