Новости

О проекте

Зачем?

Используемое ПО

Методика разработки сцен на PostScript

Операторы языка PostScript

Библиотека

Изучение языка

Статьи

Ссылки...

Зачем?

А действительно зачем программировать на PostScript? Ведь есть драйвера, есть программы и другие "полезные" изобретения человечества. Любое описание к графической программе начинается с "ХХХ повысит Вашу производительность, сэкономит время для творческой работы, позволит создавать невероятные эффекты" ну и так далее.

Что по поводу "новых" возможностей, то если печать осуществляется на PostScript принтер, то реализуется только те возможности которые предоставляет сам язык, не более. Скорее правильно было бы говорить об отличиях по возможностям от других программ.

Повышение производительности, как и экономия времени также вопрос. Время Вы потратите на освоение продукта, на наработку типовых решений, на набор клипов и проч. По мере освоения, чаще будет вставать вопрос "как это сделать, исходя из возможностей продукта".

Скажите, сколько времени Вы тратите на осовоение подводных камней ("особенностей") продукта, который Вы используете? А на освоение приемов, обходящих ограничения текущей версией продукта? Скажите как часто возникал и как успешно Вы решаете вопрос о переносе результат Вашего творчества на другие машины (я даже не говорю про альтернативные платформы)? Сколько это занимало места?

Эти как и многие другие вопросы возникали и у меня. Мне часто приходиться выполнять разнообразные задачи от создания календарей до печати простеньких табличек. Как в нагрузку к основной работе. И изучение дополнительного инструментария меня не радует, по той причине что:

  • Дополнительные затраты времени на изучение
  • Время на изучение подводных камней инструментария (а оно, как показывает моя практика) значительное. К тому имеет тенденцию проявления в самый неподходящий момент времени.
  • Сделанный мною наработки, как правило оказываются привязанными к конкретному продукту.
  • Лицензионные ограничения. А если я хочу работать дома, временно на другой машине, продемонстрировать кому-либо свой шедевр? А там этого продукта нет?
  • Финансовые затраты.

Список можно продолжать и дальше. Лучше я расскажу что даст использование в своей практике самого языка:

  • Свободу творчества. РЕАЛЬНУЮ! Принтер сделает в точночти, то что Вы описали средствами языка! Вы независите от сторонних разаработчиков: нет больше необходимости ждать следующего реализа в ожидании, что туда будет включена нужная Вам особенность. Вы можете ее сделать сами, заказать, найти и т.д.
  • Свободу в выборе платформы и средств работы. Вы просто пишете в текстовом редакторе что Вы хотите сделать, а дальше интерпретатор (принтера или программный) воспроизводит то что Вы задумали. Учитывая что PostScript широко распространен, его положение в мире, то проблем здесь у Вас не должно возникнуть.
  • Повышение Вашей производительности. За счет нескольких факторов:
    • Снижения требования к производительности Вашего компьютера. Параметрами рендеринга Вы также можете управлять: в режиме дизайна можно выставить попроще, а для окончательного задать максимальные величины.
    • За счет декомпозиции сложной сцены на несколько простых. Созданием которых можно заниматься пооотдельности, или распределить нагрузку в коллективе.
    • Использование ранее сделанных сцен. Которые легко объединяются в библиотеки. Ведь это текстовые файлы.
    • За счет параметризации часто используемых объектов. Установил нужные параметры и вперед.
    • Использование числовых значений параметров, позволяет их легко варьировать, а при необходимости к ним возвращаться. "Глубина" таких откатов регулируется Вами как количесво закоментированных значений, так и версиями прорабатываемой сцены.
  • Для векторной графики максимальная гибкость. Опсисать можно все от простых текстовых плакатов до сложных чертежей и графиков.
  • Прекрасная масштабируемость. Впрочем это свойство векторной графики. В данном случае она ограничивается только возможностями растеризатора. Впрочем и это ограничение обходится просто - печатью частей общей картинки на отдельных листах с последующей их склейкой. Все просто. Или наоборот, размещение нескольких сцен на одном листе.
  • Прекрасная переносимость. Как между отдельными компьютерами, так и между платформами. И если Вы сказали что сторона квадрата 6 см, то она будет везде 6 см.
  • Компактность. Написанный вручную описание занимает оч-чень мало места (в среднем не более 10Кб). Прекрасно жмется. Способен пересылаться по эл. почте безо всяких преобразований.
  • Финансовую. Вы не несете никах дополнительных финансовых затрат. Все что нужно Вам для работы доступно в большинстве случаев бесплатно.
  • Сохранность Ваших наработок. И полная совместимость. Первый вариант PostScript появился в 1985г. Второй, наиболее часто используемый, в 1990г. Существует и третья версия. Все они совместимы сверху вниз. Как видно язык уже устоявшийся и самодостаточный.

Для работающих в *nix

Здесь, по моему, вообще без вариантов, учитывая что:

  • Менталитет как собственно системы, так и людей, работающий с ней. Она вся построена на запись параметров в текстовых файлах. Работа с PostScript прекрасно вписывается в эту особенность.
  • Вся система печати в *nix построена на использовании PostScript.В каждом дистрибутиве *nix есть как стандартное средство интерпретатор (растиризатор) с PostScript, включая просмотрщик.
  • Отсутствия качественных векторных пакетов именно для *nix. Хотя в последнее время ситуация начала меняться.

Для знающих язык программирования Forth

PostScript многое взял от языка Forth: это и использования стека (красивое решение), и использование словарей, и интерактивный режим работы (см. здесь). Однако авторы развили далее идеи Forth. В результате PostScript стал проще для понимания, но за счет использования объектов и более медлительным.

Интересно, что обратная миграция идей PostScript в Forth не произошла. По моему это также привело к тому что Forth перешел в разряд экзотических языков программирования. Реализация графической модели PostScript на Forth с добавлением интерактивности дало бы прекрасные результаты.

Forth-программистам освоить PostScript не составит большого труда. А работа на нем будет способствовать формированию новых взглядов и идей. И возможно, новые идеи и подходы реанимируют Forth.

Forth в настоящее время используется. И довольно активно. Здесь можно узнать самые последние новости о нем.

Вместо вывода.

Если Вы занимаетесь векторной графикой попробуйте описывать то что Вы хотите нарисовать непосредственно на языке PostScript. Приобретенные знания не будут лишним в любом случае. Это действительно не сложно.

19.02.2001



©Фурашев А. 2002
e-mail

Хостинг от uCoz