Processing — это бесплатная графическая библиотека и интегрированная среда разработки (IDE), созданная для сообществ электронного искусства, нового медиаискусства и визуального дизайна с целью обучения непрограммистов основам компьютерного программирования в визуальном контексте.
Обработка использует язык Java с дополнительными упрощениями, такими как дополнительные классы и псевдонимы математических функций и операций. Он также предоставляет графический пользовательский интерфейс для упрощения этапа компиляции и выполнения.
Язык Processing и IDE стали предшественниками других проектов, включая Arduino и Wiring .
Проект был инициирован в 2001 году Кейси Реасом и Беном Фраем , которые ранее работали в группе эстетики и вычислений в лаборатории MIT Media Lab . В 2012 году они основали Processing Foundation вместе с Дэниелом Шиффманом , который присоединился в качестве третьего руководителя проекта. Джоанна Хедва присоединилась к Foundation в 2014 году в качестве директора по адвокации. [2]
Первоначально Processing использовал домен proce55ing.net, поскольку домен processing был занят; в конечном итоге Риас и Фрай приобрели домен processing.org и переместили проект на него в 2004 году. [3] Хотя первоначальное название представляло собой комбинацию букв и цифр, оно всегда официально называлось processing , но сокращенный термин p5 все еще иногда используется (например, в «p5.js») в отношении старого доменного имени. [4]
В 2012 году был создан Processing Foundation, получивший статус некоммерческой организации 501(c)(3), [5] поддерживая сообщество вокруг инструментов и идей, которые начались с Processing Project. Фонд призывает людей по всему миру ежегодно встречаться на местных мероприятиях, называемых Processing Community Day. [6]
Обработка включает в себя альбом для рисования , минимальную альтернативу интегрированной среде разработки (IDE) для организации проектов. [7]
Каждый эскиз Processing на самом деле является подклассом класса PApplet
Java (ранее подкласса встроенного в Java Applet), который реализует большинство функций языка Processing. [8]
При программировании в Processing все дополнительные классы, определенные в нем, будут рассматриваться как внутренние классы при трансляции кода в чистый Java перед компиляцией. [9] Это означает, что использование статических переменных и методов в классах запрещено, если только Processing явно не указано кодировать в режиме чистого Java.
Обработка также позволяет пользователям создавать собственные классы в эскизе PApplet. Это позволяет использовать сложные типы данных , которые могут включать любое количество аргументов, и позволяет избежать ограничений, связанных с использованием только стандартных типов данных, таких как: int (целое число), char (символ), float (действительное число) и color (RGB, RGBA , hex).
Простейшая возможная версия программы «Hello World» в Processing:
// Это выводит «Hello World» на консоль IDE. println ( «Hello World» );
Однако, ввиду более визуально ориентированной природы Processing, следующий код [10] является лучшим примером внешнего вида и поведения языка.
// Привет, мышь. void setup () { size ( 400 , 400 ); stroke ( 255 ); background ( 192 , 64 , 0 ); } void draw () { линия ( 150 , 25 , mouseX , mouseY ); }
В 2005 году Реас и Фрай выиграли премию Golden Nica от Ars Electronica в категории Net Vision за свою работу над Processing. [11]
Бен Фрай выиграл Национальную премию дизайна 2011 года, присуждаемую Смитсоновским национальным музеем дизайна Купера-Хьюитта в категории «Интерактивный дизайн». В заявлении о награде говорится:
«Опираясь на опыт работы в области графического дизайна и компьютерных наук, Бен Фрай продолжает давнее увлечение визуализацией данных. Будучи директором Fathom Information Design в Бостоне, Фрай разрабатывает программное обеспечение, печатные работы, инсталляции и книги, которые описывают и объясняют темы от генома человека до зарплат в бейсболе и эволюции текстовых документов. Совместно с Кейси Реасом он основал Processing Project, среду программирования с открытым исходным кодом для обучения вычислительному дизайну и создания эскизов интерактивного медиа-программного обеспечения. Она предоставляет художникам и дизайнерам доступные средства работы с кодом, одновременно побуждая инженеров и компьютерных специалистов думать о концепциях дизайна». [12]
Основные библиотеки Processing, код, включенный в экспортированные приложения и апплеты, лицензированы в соответствии с лицензией GNU Lesser General Public License , что позволяет пользователям выпускать свой оригинальный код с возможностью выбора лицензии.
Среда IDE распространяется по лицензии GNU General Public License .
Processing был основан на оригинальной работе, проделанной в рамках проекта Design By Numbers в MIT. Он разделяет многие из тех же идей и является прямым потомком этого эксперимента.
В 2013 году Лорен Маккарти создала p5.js, нативную альтернативу Processing.js на JavaScript , которая имеет официальную поддержку Processing Foundation. p5.js привлекла более 1,5 миллиона пользователей. [13]
С апреля 2022 года p5.js возглавляет Цяньцянь Е, доцент кафедры медиаискусства в Университете Южной Калифорнии. [14]
ml5.js — это библиотека p5.js, разработанная ITP/IMA Нью-Йоркского университета при финансовой и образовательной поддержке гранта Google.
Дэниел Шиффман снял видеоролики, демонстрирующие работу ml5, и внес заметный вклад в код.
Processing.js — это устаревший порт JavaScript , который позволял запускать существующий код Processing Java в Интернете.
Первоначально он был выпущен в 2008 году Джоном Резигом . Позднее проект был реализован в рамках партнерства между Mozilla Foundation и Seneca College под руководством Дэвида Хамфри, Эла Макдональда и Корбана Брука. Processing.js поддерживался на уровне Processing вплоть до выпуска API версии 2.1.
Проект был закрыт в декабре 2018 года, спустя два года после остановки его активной разработки.
p5 — это библиотека Python, которая обеспечивает высокоуровневую функциональность рисования, помогающую быстро создавать симуляции и интерактивное искусство с помощью Python. Она объединяет основные идеи Processing — обучение кодированию в визуальном контексте — с читабельностью Python, чтобы сделать программирование более доступным для новичков, преподавателей и художников. [15]
Python Mode for Processing, или Processing.py — это интерфейс Python к базовому набору инструментов Java. Он был разработан Джонатаном Файнбергом в 2010 году, с участием Джеймса Жиля и Бена Алкова. [16]
py5 — это версия Processing для Python 3.8+. Она делает jar-файлы Java Processing доступными для интерпретатора CPython с помощью JPype. Она может делать практически все, что может Processing, за исключением того, что использует Python вместо кода Java. [17]
Processing породил еще один проект, Wiring , который использует Processing IDE с набором библиотек, написанных на языке C++, как способ обучения художников программированию микроконтроллеров . [18] Сейчас есть два отдельных аппаратных проекта, Wiring и Arduino , использующих среду и язык Wiring. Fritzing — еще одна программная среда того же рода, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и делать шаг от физического прототипирования к реальному продукту.
Другой побочный проект, ныне несуществующий, — Mobile Processing Фрэнсиса Ли, который позволял программному обеспечению, написанному с использованием языка и среды Processing, работать на мобильных устройствах на базе Java. Сегодня часть той же функциональности предоставляется самим Processing. [19]
iProcessing был создан, чтобы помочь людям разрабатывать собственные приложения iPhone с использованием языка Processing. Это интеграция библиотеки Processing.js и фреймворка приложений Javascript для iPhone. [20]
Spde (Scala Processing Development Environment) заменяет сокращенный синтаксис Java Processing и пользовательский препроцессор на готовый язык программирования Scala , который также работает на платформе Java и применяет некоторые из тех же ограничений, например, запрещает статические методы, но при этом допускает более лаконичный код и поддерживает функциональное программирование . [21] [22] [23]
JRubyArt (ранее называвшийся ruby-processing ) — это оболочка для Processing на языке Ruby , которая работает на платформе Java с использованием JRuby.
Quil — это интерактивная анимационная библиотека для Clojure и ClojureScript, основанная на Processing. [24] [25]
Музыкальный клип на песню « House of Cards » группы Radiohead был создан с использованием Processing в сочетании с данными лидарной технологии, а также с использованием акрилового стекла и зеркал для создания сцен, в которых изображение выглядит искаженным, частично исчезает или распадается, как будто его переносит ветер. [26] Processing также использовался для создания иллюстраций для таких изданий, как Nature и The New York Times , для вывода скульптур для галерейных выставок, для управления огромными видеостенами и для вязания свитеров. [27]
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )