Processing

scrptn

Пользователь
processing.org - предлагаю знающим английский ознакомиться самостоятельно.

Язык является подмножеством Java, главное отличие в отсутсвии generics, а также shorthand-варианты выполнения типичных для программирования графики действий. Например, есть функции для задания цвета фона, частоты кадров и т.п. Прорисовка в простешем случае определяется в одной функции: draw().

В общем, язык специально создан для быстрого старта в разработке графических приложений. Имеет встроеный 3d-рендер и работает с OpenGL. Есть набор очень полезных библиотек: сохранение в видеофайл (.mov), PDF и другие форматы, работа со звуком и видеокамерой, шрифтами и графическими форматами.

Примеры работ (нужна виртуальная машина Java!):
http://processing.org/exhibition/
http://www.complexification.net/gallery/ (здесь смотрите внимательно, часть на флеше)

Примечательно, что Processing используется преимущественно художниками и дизайнерами, в том числе и в интерактивных инсталляциях. Зачастую используется связка с другим ПО: рендерами, средами моделирования, программирования звука и даже микроконтроллеров.

Преимущества:
+ Экспорт в java-апплеты;
+ Интеграция со множеством других продуктов (с такими-то библиотеками или даже сразу, потому что java);
+ Доступны все возможности платформы Java, без акробатики;
+ Достаточно много библиотек;
+ Быстрый старт для программирования собственно контента, без долгого изучения интерфейсов;

Недостатки:
- Java (язык, а не платформа) со всей её простой и ООП головного мозга (кто пробовал нормальные языки, тот понимает);
- Косяки реализации (это временно)

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

Лично для меня это было ценной находкой. Позже выложу свои наработки.
 

scrptn

Пользователь
Недавно экспериментировал с версией 1.5.1. В предыдущем посте я написал неправду: язык представляет собой не подмножество Java, а, собственно, Java. В документации этот факт не освещается, но эксперименты показали, что поддерживаются все возможности ООП, Java generics и аннотации.

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