Рожденный революцией (Display PostScript)

3

В 1985 в издательском деле произошла революция, одним из участников которой был PostScript, язык описания графики от мало кому известной в то время Adobe Systems. В 1988 году малоизвестная компания NeXT использовала PostScript для экранной графики, заставив его творить на экране странного компьютера немыслимое.

В NeXTSTEP, разрывая шаблоны, рисование на экране (а также вывод нарисованного на печать), и даже взаимодействие нарисованного с пользователем, были возложены на… PostScript. Любой, имевший дело с выводом чего-либо на PostScript-принтеры, даже не эксперт по выжиманию звонкой монеты из вычислительной техники, если бы его спросили, предостерег бы NeXT и безумного Стива от этого опрометчивого шага.

Но… Картинки на экране (меню, док, окна, иконки и текст в этих окнах) вели себя как-то не так. Нормально. Даже слишком нормально – обновляя содержимое сразу нескольких окон одновременно, как не смог бы ни один другой компьютер. Обман? А в чем подвох? Зачем?

И тут кто-то из сидящих в зале сообщил окружающим, что это Display PostScript, который придумал Стив Джобс (перемещаясь между Pixar и NeXT за рулем очередного Мерседеса), но потом то ли проиграл идею своей рисовалки Джону Варноку (главе Adobe Systems) в карты, то ли проспорил, и теперь права на неё принадлежат Adobe, называется она Display PostScript.

Упав на благодатную почву, идея отправилась в путешествие сквозь пространство и время, из-за чего все нечастые упоминания Display PostScript начинаются с сообщения о том, что его разработала Adobe. Иногда с добавлением частицы “именно”, то есть, “именно Adobe разработала Display PostScript”. Подозрительно, да? Неужели правда, которую приказали скрывать?

На самом деле, все так и было. В смысле, Display PostScript, как и сам PostScript, и все его варианты, действительно создала Adobe Systems, к этому причастен Джон Варнок, а Стив сыграл в возвышении обоих вариантов PostScript над другими проявлениями технологии в области графики очень важную роль. Тоже причастен.

В обоих случаях Стив Джобс был… клиентом. Заказчиком. В обоих случаях PostScript был лучшим, но само по себе это обстоятельство ничего не решает. Слишком часто побеждают посредственности, умеющие пробиваться к свету лучше других.

Как появился Display PostScript

Про появление на свет PostScript на ресурсе уже писали.

Язык описания графики, придуманный Джоном Варноком на Sutherland & Evans, первый из предшественников того, что стало PostScript, был интерактивным языком. Джон Варнок разрабатывал компьютерный тренажер для отработки лоцманами проводки судов в Нью-Йоркском заливе.

JaM, разработанный Джоном Варноком совместно с Мартином Ньювелом, изначально тоже был ориентирован на работу с экраном и был интерактивным языком, правда с чисто утилитарными целями. Для удобства отладки. Чем проще экспериментировать с тем, что разрабатываешь, тем больше всевозможных ситуаций удастся опробовать и довести до совершенства.

То есть, Display PostScript “в кавычках” появился на свет даже раньше, чем PostScript для управления печатью. Удивительно, но Джобс об этом знал – и в 1985 году, когда ветераны паблишинговой революции встретились в офисе Adobe Systems за “чашкой чая”, между ними состоялся разговор. Без свидетелей, но буквально через неделю Линде Гасс было поручено подумать на эту тему, а также создать и возглавить команду для реализации замысла.


Стив поручил интеграцию “Screen PostScript”, которого еще не было, в операционную систему, работа над которой тоже только начиналась, Лео Гурвицу. Одному из главных разработчиков этой системы. Протеже самого Билла Аткинсона, программисту и одному из первых в мире инженеров по компьютерной графике.

А как иначе? Лео, и до этого работавший по 24 часа в сутки семь дней в неделю, взялся за это безнадежное дело.

Название Display PostScript было придумано Лео и Линдой, во время одного из совещаний в офисе Adobe, и утверждено обоими жесткими и непредсказуемыми лидерами индустрии, Джоном Варноком и Стивом Джобсом. Произошло это в августе 1988 года.

Несмотря на это, я буду называть проект с рабочим названием Screen PostScript его более привычным и благозвучным именем, под которым он был зарегистрирован в качестве товарного знака Adobe Systems – Display PostScript, или Display PS.

Что такое Display PostScript

Странный вопрос, да? Это то, что рисовало на экране NeXT Computer пользовательский интерфейс, тексты и графику в программах для его операционной системы, и участвовало в выводе на печать документов, создаваемых в этих программах. Что еще может делать “язык описания графики”?

Работа с графикой – одно из основных предназначений PostScript вообще, и его экранного варианта, в частности. Но не единственное.

Пользовательский интерфейс – это не только и не столько картинки и тексты. Это еще и интерфейс, то есть, граница между пользователем и операционной системой. Инструмент управления ею.

Интерфейс – понятие достаточно абстрактное. Неизмеримое. Программное обеспечение реагирует на нажатие кнопок мыши, на её перемещение по экрану, на нажатие клавиш на клавиатуре. Это практически то же самое, что и язык командной строки, только команды вводятся иначе, и смысл их зависит от того, что в данный момент на экране, и в какой из его областей была нажата, кликнута или отжата кнопка на мыши.

Еще одно ключевое предназначение Display PostScript – взаимодействие с пользователем. Это интерактивный PostScript.

Интерактивная составляющая Display PS разрабатывалась с учетом накопленного к тому времени опыта. Она очень тщательно проработана, и почти в точности, без серьезных изменений, перекочевала в macOS. Более того, её основы, после творческой переработки, были унаследованы iOS, операционной системой основанной не на системе “мышь-окно-клавиатура”, а на принципиально новой парадигме тач-интерфейса.

Разработку интерактивного аспекта Display PS поручили Джеку Ньюлину.

Друзей во главе известных компаний – благо

Джек Ньюлин поступил на работу в исследовательский центр Xerox в Пало Альто в 1976 году. Принимал участие в нескольких проектах, в том числе связанных с Smalltalk и Interpress (коммерческий язык описания графики, разработанный Джоном Варноком и Чаком Гешке, конкурент PostScript).

Что побудило Джека в 1986 году искать работу – неизвестно. Либо ему стало неинтересно, либо атмосфера свободы и вседозволенности, свойственная Xerox PARC в прежние годы, стала утекать в межпланетное пространство, так или иначе в один из весенних дней 1986 года он заглянул в гости к старым приятелям, бывшим коллегам по работе.

Бывшие коллеги возглавляли Adobe Systems, компанию державшую свой флаг в разных странах и почти на всех континентах. Джек предложил им свои услуги.

Они его хорошо знали и ценили, но Interpress был прямым конкурентом PostScript.

– Если мы тебя примем на работу, – сказал Джон Варнок – Xerox подаст на нас в суд. Но, если ты не возражаешь против идеи поработать в одном интересном стартапе, могу тебе помочь.

Варнок набрал номер на телефоне, и через несколько минут Джек Ньюлин говорил с Джобсом. Через пару недель Джек стал сотрудником NeXT, первым и единственным на тот момент подчиненным Лео Гурвица.

На Adobe команда разработчиков Display PS уже состояла из десятков человек, язык уже обретал реальные черты.

Зачем Display PS?

До середины 80-х, компании создававшие собственные графические пользовательские интерфейсы писали графические библиотеки и интерактивные среды сами, создавая иногда настоящие шедевры.

Мысль приобрести лицензию на использование PostScript в качестве языка интерфейса собственной системы не приходила никому в голову. Лицензия стоила дорого, по условиям лицензии плата бралась за каждое устройство с копией PostScript. А сам язык, в исконном его виде, для интерфейсов не подходил.

Но были и очевидные плюсы такого решения. При выводе документов, созданных в любой “самодельной” графической среде, будь то QuickDraw на Mac’е или графические пакеты Pixar Imaging Computer или рабочей станции от Sun, на лазерный принтер с PostScript, при переводе данных с одного языка на другой (из QuickDraw в PostScript, например), что-то неминуемо терялось.

По словам Линды Гасс, это что-то вроде перевода с французского на английский.

Кроме того, перевод в PostScript – это нетривиальная задача для процессора, занимающая время. Любой нетривиальный алгоритм содержит… баги, несуразности, накладки. Те, кто имеет дело с подобными вещами, обязательно расскажут про пляски с бубном, или танец дождя.

А вот если графическая система компьютера говорит на одном языке с принтером, все эти проблемы исчезают. Все упрощается, WYSIWYG ([на выходе] получаем то, что видим) при этом гарантируется, времени на перевод не требуется.

И, что тоже важно, использовать в качестве графических библиотек технологию, которая уже многократно проверена и обкатана в самых разных условиях, и гарантированно хороша, просто разумно.

3 комментария Оставить свой

  1. 0

    Познавательно. Олег!!! Спасибо!

  2. 0
    steamson

    Отличный материал. Можно прямо книгу издавать.

  3. 0
    sprite71

    Всё так и было! Помню! ;)))

Авторизуйтесь Чтобы оставить комментарий

Новости партнеров