PostScript как язык программирования

  • Автор темы Автор темы JAW
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

JAW

Топикстартер
15 лет на форуме
Сообщения
15 795
Реакции
3 454
Специально размещаю тему здесь, т.к. ожидаю некоторого флуда.

В общем момент такой...
Я несколько знаком с двумя принципиально разными языками программирования. Forth и Lisp.
Несколько, это значит, что с мощью Forth я реально столкнулся, пробовал программировать и не смог (из за идеологии), но логику понять могу.
Lisp (и Лого, как версию Lisp) изучал только идеологически.

Lisp, это язык функциональной парадигмы. Основанный на списках.
Forth уж не знаю в какую парадигму отнести, но его определяет лёгкость определения операторов (в прочем как и Лисп), и обратная польская запись, т.е. для того, что сложить 10 и 20 нужно написать 10 20 +
А чтобы сложить 10 + 20 + 30 нужно написать 10 20 30 + +

Существуют Forth машины (в том числе специализированные процессоры) ориентированные на стековую математику, т.е. операции над стеком более выгодны, чем операции над регистрами.

Существуют Lisp машины (и Lisp процессоры) ориентированные на работу со списком.

Не ту не другую логику никогда понять не мог. После обычной императивной она мне кажется алогичной.

PostScript я определяю как совокупность этих двух логик.
С одной стороны откровенно стековая организация с польской обратной записью и стэком. С другой откровенно выраженная Lisp подобная логика.
Однако идеологически они противопоставимы.
Это как программировать на Лого (Lisp подобный язык) используя императивные (C, Pascal, Basic) парадигмы. Можно, но через ж...
[в прочем это и практикуется в школе при обучении Лого]

Но не того, не другого я просто не понимаю. Это бред какой-то.

Может быть тот, кто знает PostScript как язык программирования подскажет, как к такому маразму подойти?

Как Вы сами разобрались в гибриде списков и обратной записи?
Как научились читать PostScript код? Может быть, как удалось сломав себя написать пару строчек на этом языке?

P.S. Я как-то пару недель потратил на составление функции на TeX. Там по ходу с языком ещё хуже... Функция заняла 3 строки кода, но была довольно революционна.
 
Ответ: PostScript как язык программирования

ни Lisp, ни Forth не знаю )

так что взял BlueBook и прочитал, ничего страшного и непонятного не нашел...
 
Ответ: PostScript как язык программирования

Для начинающих, знакомых с основами программирования на "классических" языках, есть прекрасное пособие -- можно сказать, "классика жанра":

http://www.rightbrain.com/download/books/ThinkingInPostScript.pdf

с уважением,
Александр
 
Ответ: PostScript как язык программирования

JAW сказал(а):
Может быть, как удалось сломав себя написать пару строчек на этом языке?
Не всё так плохо... Дело привычки.

Мне приятнее и быстрее работать на калькуляторе с обратной польской записью, чем на бухгалтерском. Операций с памятью меньше, потому что ячеек памяти больше. И действий на сложную формулу нужно меньше - операция вычисления совмещается с пошаговым вталкиванием стека. Или выталкиванием... ;)
 
Ответ: PostScript как язык программирования

JAW сказал(а):
Как научились читать PostScript код? Может быть, как удалось сломав себя написать пару строчек на этом языке?
Пару строчек можно написать ничего не зная о програмировании и языке. Писал пару меток для Препса. Делал так: открыл близкую к нужной метку в текстовом режиме, меняешь строки, растрируешь в шопе смотришь что получается. Если через час-два приходит понимание пишешь что тебе надо. Если понимание не приходит это не ко мне. Конечно, всё зависит от сложности поставленной задачи и написать что-то грандиозное таким способом не получится, но для этого люди и получают образование собственно.
 
Ответ: PostScript как язык программирования

Ну...
В истории с TeX я писал макро, которое преобразовывало транслит в русский, типа:
\rus{Ya ne ponimau po russki}.
При этом каждый символ и группа символов раскрывались и преобразовывались в конкретную букву. В TeX нет механизма парсинга и т.п. В общем довольно сложный алгоритм написанный на языке, который для этого не предназначен.

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

давно уже ничо не программирую, андрей...
поэтому некоторый оффтоп:

многия годы назад писал немерянное кол-во программ
на встроенном в автокад лиспе...
как человеку, получившему образование на паскале, си и прочем -
некоторое время было очень тяжко...
но потом произошёл резкий скачок в сознании...
и мыслить лисповскими списками стало просто...

собственно к чему это я...
вопрос практики это всё...
 
Ответ: PostScript как язык программирования

andrejK
Ну, собственно потому и создал тему во флуде...

Да. Скачёк происходит, но для этого нужно очень много работать.
Когда нет цели постоянного программирования, а цель заключается скорее в чтении кодов и иногда модифицировать метки откуда скачку взяться...

Похоже мне стоит таки списаться с автором Bakoma TeX и попросить лицензию на халяву... (Bakoma TeX использует расширенный PS Level 1 в качестве скриптового языка...)

P.S. А, кстати, многие обломались ломая Forth код (из целевого компилятора).
Код практически полностью состоит из перекрёстных Call Но какой прекрасный язык был, да и есть... Компактность кода выше ассемблерного. Производительность в 2-3 раза ниже ассемблера, но это супер по сравнению с C и Паскалем.
Блин... Ну почему похерился C-- :( И почему сейчас забили на оптимизацию?

Помнится в своё время, кажется после 5-го PhotoShop Adobe сменила компилятор с Microsoft на Intell, или IBM. Результат... PhotoShop залетал... На том же оборудовании. А на чём XP скомпилирована? На том же тормозном мелкомягком компиляторе.
 
Статус
Закрыто для дальнейших ответов.