Обработка
Парадигма | Объектно-ориентированный |
---|---|
Разработано | Кейси Рис , Бен Фрай |
Впервые появился | 2001 год |
Стабильная версия | 4.3
/ 26 июля 2023 г [1] |
Лицензия | Лицензионная лицензия , LGPL |
Расширения имен файлов | .pde |
Веб-сайт | обработка |
Processing — это бесплатная графическая библиотека и интегрированная среда разработки (IDE), созданная для сообществ электронного искусства, нового медиа-искусства и визуального дизайна с целью обучения непрограммистов основам компьютерного программирования в визуальном контексте.
Для обработки используется язык Java с дополнительными упрощениями, такими как дополнительные классы и псевдонимы математических функций и операций. Он также предоставляет графический интерфейс пользователя для упрощения этапов компиляции и выполнения.
Язык обработки и IDE были предшественниками других проектов, включая Arduino и Wiring .
История
[ редактировать ]Проект был инициирован в 2001 году Кейси Рисом и Беном Фраем , ранее работавшими в группе эстетики и вычислений Медиа-лаборатории Массачусетского технологического института . В 2012 году они основали Processing Foundation вместе с Дэниелом Шиффманом , который присоединился к ним в качестве третьего руководителя проекта. Йоханна Хедва присоединилась к Фонду в 2014 году в качестве директора по адвокации. [2]
Первоначально обработка использовала домен proce55ing.net, поскольку домен обработки был занят; В конце концов Рис и Фрай приобрели домен Processing.org и перенесли на него проект в 2004 году. [3] Хотя исходное имя состояло из комбинации букв и цифр, оно всегда официально называлось Processing , но сокращенный термин p5 все еще иногда используется (например, в «p5.js») по отношению к старому доменному имени. [4]
В 2012 году Processing Foundation был основан и получил статус некоммерческой организации 501(c)(3). [5] поддержка сообщества вокруг инструментов и идей, которые начались с проекта обработки. Фонд призывает людей по всему миру ежегодно встречаться на местных мероприятиях, называемых Днем сообщества обработки данных . [6]
Функции
[ редактировать ]Стабильная версия | 4.3
/ 26 июля 2023 г |
---|---|
Репозиторий | |
Написано в | Java , GLSL , JavaScript |
Операционная система | Кросс-платформенный |
Тип | Интегрированная среда разработки |
Веб-сайт | обработка |
В состав обработки входит альбом для рисования — минимальная альтернатива интегрированной среде разработки (IDE) для организации проектов. [7]
Каждый скетч Processing на самом деле является подклассом PApplet
Класс Java (ранее являвшийся подклассом встроенного апплета Java), реализующий большинство функций языка обработки. [8]
При программировании в Processing все определенные дополнительные классы будут рассматриваться как внутренние классы , когда код перед компиляцией преобразуется в чистый Java. [9] Это означает, что использование статических переменных и методов в классах запрещено, если процессору явно не указано кодировать в чистом режиме Java.
Обработка также позволяет пользователям создавать свои собственные классы в эскизе PApplet. Это позволяет использовать сложные типы данных , которые могут включать любое количество аргументов, и позволяет избежать ограничений использования только стандартных типов данных, таких как: int (целое число), char (символ), float (действительное число) и цвет (RGB, RGBA , шестнадцатеричный). ).
Примеры
[ редактировать ]Самая простая возможная версия программы «Hello World» в Processing:
// This prints "Hello World." to the IDE console.
println("Hello World.");
Однако из-за более визуально ориентированного характера обработки следующий код [10] является лучшим примером внешнего вида языка.
// Hello mouse.
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}
Награды
[ редактировать ]В 2005 году Риас и Фрай выиграли награду Golden Nica от Ars Electronica в категории Net Vision за свою работу над обработкой. [11]
Бен Фрай выиграл Национальную премию дизайна 2011 года, присуждаемую Смитсоновским национальным музеем дизайна Купера-Хьюитта в категории «Интерактивный дизайн». В заявлении о награждении говорится:
«Опираясь на опыт работы в области графического дизайна и информатики, Бен Фрай давно увлекается визуализацией данных. Будучи директором Fathom Information Design в Бостоне, Фрай разрабатывает программное обеспечение, печатные работы, инсталляции и книги, которые изображают и объясняют темы из от человеческого генома до бейсбольных зарплат и эволюции текстовых документов. Вместе с Кейси Рисом он основал Processing Project — среду программирования с открытым исходным кодом для обучения компьютерному дизайну и созданию эскизов интерактивного программного обеспечения. Она предоставляет художникам и дизайнерам доступные средства работы. с кодом, одновременно побуждая инженеров и компьютерщиков задуматься над концепциями дизайна». [12]
Лицензия
[ редактировать ]Основные библиотеки Processing, код, включенный в экспортированные приложения и апплеты, лицензируются по лицензии GNU Lesser General Public License , что позволяет пользователям выпускать свой исходный код с выбором лицензии.
IDE распространяется по лицензии GNU General Public License .
Связанные проекты
[ редактировать ]Дизайн в цифрах
[ редактировать ]Обработка основывалась на исходной работе, выполненной в рамках проекта Design By Numbers в Массачусетском технологическом институте. Он разделяет многие из тех же идей и является прямым детищем этого эксперимента.
p5.js
[ редактировать ]В 2013 году Лорен Маккарти создала p5.js, нативную JavaScript- альтернативу Processing.js, имеющую официальную поддержку Processing Foundation. p5.js привлек более 1,5 миллиона пользователей. [13]
С апреля 2022 года p5.js возглавляет Цяньцянь Е, адъюнкт-профессор медиаискусства Университета Южной Калифорнии. [14]
ml5.js
[ редактировать ]ml5.js — это библиотека p5.js, разработанная ITP/IMA Нью-Йоркского университета при финансировании и поддержке гранта Google Education.
Дэниел Шиффман снял видеоролики, демонстрирующие ml5, и является заметным автором кода.
p5play
[ редактировать ]JavaScript p5play — игровой движок , использующий p5.js для графики и Box2D для физики.
Паоло Педерчини инициировал p5.play (версию 1) в 2015 году. Куинтон Эшли стал руководителем проекта в 2022 году и создал p5play (версию 3), чтобы преодолеть разрыв между Scratch и Unity для молодых разработчиков игр.
p5play в первую очередь был принят преподавателями средних и старших классов как инструмент для ознакомления с концепциями объектно-ориентированного программирования. У него более 25 000 пользователей в месяц. [15]
Обработка.js
[ редактировать ]Processing.js — это прекращенный порт JavaScript , который позволял запускать существующий код Processing Java в Интернете.
Первоначально он был выпущен в 2008 году Джоном Ресигом . Позже проект реализовывался в рамках партнерства между Фондом Mozilla и Колледжем Сенека под руководством Дэвида Хамфри, Эла Макдональда и Корбана Брука. Processing.js оставался на том же уровне, что и Processing, вплоть до выпуска API версии 2.1.
Проект был прекращен в декабре 2018 года, через два года после прекращения его активной разработки.
P5Py
[ редактировать ]p5 — это библиотека Python, которая предоставляет высокоуровневые функции рисования, которые помогут вам быстро создавать симуляции и интерактивные рисунки с помощью Python. Он сочетает в себе основные идеи обработки — обучение программированию в визуальном контексте — с читабельностью Python, что делает программирование более доступным для новичков, преподавателей и художников. [16]
Processing.py
[ редактировать ]Режим Python для обработки или Processing.py — это интерфейс Python для базового набора инструментов Java. Начиная с 2010 года, он был разработан Джонатаном Фейнбергом при участии Джеймса Жиля и Бена Алкова. [17]
py5
[ редактировать ]py5 — это версия Processing для Python 3.8+. Это делает jar-файлы обработки Java доступными для интерпретатора CPython с использованием JPype. Он может делать почти все, что может делать Processing, за исключением кода Python вместо кода Java. [18]
Проводка, Arduino и Fritzing
[ редактировать ]Processing породил еще один проект, Wiring , который использует Processing IDE с коллекцией библиотек, написанных на языке C++, как способ обучения художников программированию микроконтроллеров . [19] Теперь существует два отдельных аппаратных проекта, Wiring и Arduino , использующих среду и язык Wiring. Fritzing — еще одна программная среда того же типа, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и сделать шаг от физического прототипирования к реальному продукту.
Мобильная обработка
[ редактировать ]Еще один побочный проект, ныне несуществующий, - это Mobile Processing Фрэнсиса Ли, который позволил программному обеспечению, написанному с использованием языка и среды Processing, работать на мобильных устройствах на базе Java. Сегодня часть тех же функций обеспечивается самой Обработкой. [20]
iОбработка
[ редактировать ]iProcessing был создан, чтобы помочь людям разрабатывать собственные приложения для iPhone с использованием языка обработки. Это интеграция библиотеки Processing.js и платформы приложений Javascript для iPhone. [21]
Скорость
[ редактировать ]Spde (среда разработки обработки Scala) заменяет сокращенный синтаксис Java и специальный препроцессор Processing готовым языком программирования Scala , который также работает на платформе Java и налагает некоторые из тех же ограничений, таких как запрет статических методов, а также позволяет более лаконично код и поддержка функционального программирования . [22] [23] [24]
JRubyArt
[ редактировать ]JRubyArt (ранее называвшийся Ruby-processing ) — это оболочка для обработки на языке Ruby , которая работает на платформе Java с использованием JRuby.
Квилл
[ редактировать ]Quil — это библиотека интерактивной анимации для Clojure и ClojureScript, основанная на Processing. [25] [26]
СМИ
[ редактировать ]Музыкальное видео на песню « House of Cards » Radiohead было создано с использованием обработки в сочетании с данными лидарной технологии, а также с использованием акрилового стекла и зеркал для создания сцен, в которых изображение кажется искаженным, частично исчезает или распадается, как будто его несет ветер. . [27] Обработка также использовалась для создания иллюстраций для таких изданий, как Nature и The New York Times , для вывода скульптур для галерейных выставок, для управления огромными видеостенами и для вязания свитеров. [28]
См. также
[ редактировать ]- Зола (C++)
- OpenFrameworks (С++)
- JavaFX
- Макс (программное обеспечение)
- Кодеа
Сноски
[ редактировать ]- ^ «Выпуски» . Гитхаб . Проверено 11 августа 2023 г.
- ^ "Люди" . www.processingfoundation.org . Архивировано из оригинала 05.10.2019 . Проверено 24 апреля 2017 г.
- ^ «Обработка 1.0 _ALPHA_ -processing.org» . обработка.орг . Архивировано из оригинала 28 апреля 2012 г. Проверено 24 декабря 2017 г.
- ^ «Что означает цифра 5 в имени «p5»? · Проблема № 2443 · обработка/p5.js» . Гитхаб .
- ^ Кейси Рис; Бен Фрай (29 мая 2018 г.). «Современный Прометей» . Середина .
- ^ «ПКД» . Середина .
- ^ Ира Гринберг (31 декабря 2007 г.). Обработка: творческое кодирование и вычислительное искусство . Апресс. стр. 151–. ISBN 978-1-4302-0310-0 .
- ^ Жанин Мейер (15 июня 2018 г.). Программирование 101: Как и почему программирование раскрывается с помощью языка программирования обработки . Апресс. стр. 121–. ISBN 978-1-4842-3697-0 .
- ^ Ира Гринберг (25 марта 2010 г.). Основное руководство по обработке для Flash-разработчиков . Апресс. стр. 412–. ISBN 978-1-4302-1980-4 .
- ^ Тейсте. «Привет, мышь — OpenProcessing» . OpenProcessing.org . Проверено 3 марта 2022 г.
- ^ Мередит Хой (3 января 2017 г.). От точки к пикселю: генеалогия цифровой эстетики . Издательство Дартмутского колледжа. стр. 142–. ISBN 978-1-5126-0023-0 .
- ^ http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf [ только URL-адрес PDF ]
- ^ «P5.js — Лорен Ли Маккарти» .
- ^ «Цяньцянь Е» .
- ^ https://p5play.org
- ^ p5 , p5py, 29 сентября 2021 г. , получено 12 октября 2021 г.
- ^ Эллисон Пэрриш; Бен Фрай; Кейси Рис (11 мая 2016 г.). Начало работы с Processing.py: создание интерактивной графики в режиме Python для Processing . Мейкер Медиа, Инкорпорейтед. ISBN 978-1-4571-8679-0 .
- ^ документация по py5 , hx2a, 13 сентября 2021 г. , получено 10 мая 2022 г.
- ^ «Обработка, подключение и Arduino (EE Совет 101) — Подвал схем» . 18 сентября 2013 г. [ постоянная мертвая ссылка ]
- ^ «Андроид — Обработка» . Архивировано из оригинала 19 августа 2014 г. Проверено 3 июня 2013 г.
- ^ «iProcessing помещает Processing.js на iPhone. А как насчет браузеров? - CDM Create Digital Music» . 11 февраля 2010 г. Архивировано из оригинала 13 октября 2019 г. . Проверено 23 июля 2018 г.
- ^ «Спде: Спде» . Технически.нас. Архивировано из оригинала 02 августа 2011 г. Проверено 20 августа 2013 г.
- ^ «Кодершпиль / Беглая обработка» . Технически.нас. Архивировано из оригинала 10 ноября 2016 г. Проверено 20 августа 2013 г.
- ^ «Кодершпиль / Флокирование со Спде» . Технически.нас . Проверено 20 августа 2013 г.
- ^ «Quil: анимация в Clojure» .
- ^ «Квилл Интро» .
- ^ Най, Кэлли (14 июля 2008 г.). «Radiohead сотрудничает с Google для запуска музыкального видео» . Вашингтон Пост . ISSN 0190-8286 . Проверено 16 марта 2021 г.
- ^ Реас, Кейси; Бен Фрай (2015). Начало работы с обработкой (второе изд.). Сан-Франциско. п. 183. ИСБН 978-1-4571-8708-7 . OCLC 905522686 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )
Ссылки
[ редактировать ]- Бонакер, Хартмут; Гросс, Бенедикт; Лауб, Джулия; Лаззерони, Клавдий (22 августа 2012 г.), Генеративный дизайн: визуализация, программирование и создание с помощью обработки (1-е изд.), Princeton Architectural Press , стр. 472, ISBN 978-1616890773
- Гласснер, Эндрю (9 августа 2010 г.), Обработка для художников-визуалистов: как создавать выразительные изображения и интерактивное искусство (1-е изд.), AK Peters/CRC Press, стр. 955, ISBN 978-1-56881-716-3 , заархивировано из оригинала 21 апреля 2011 г.
- Реас, Кейси; Фрай, Бен (17 июня 2010 г.), Начало работы с обработкой (1-е изд.), Make, стр. 208, ISBN 978-1-4493-7980-3
- Ноубл, Джошуа (21 июля 2009 г.), Интерактивное программирование: Руководство для дизайнера по обработке данных, Arduino и Openframeworks (1-е изд.), O'Reilly Media , стр. 736, ISBN 978-0-596-15414-1
- Терзидис, Костас (11 мая 2009 г.), Алгоритмы визуального проектирования с использованием языка обработки (1-е изд.), Wiley , стр. 384, ISBN 978-0-470-37548-8
- Реас, Кейси; Фрай, Бен; Маэда, Джон (30 сентября 2007 г.), Обработка: Справочник по программированию для визуальных дизайнеров и художников (1-е изд.), The MIT Press, стр. 736, ISBN 978-0-262-18262-1 , заархивировано из оригинала 17 апреля 2011 г.
- Фрай, Бен (11 января 2008 г.), Визуализация данных (1-е изд.), O'Reilly Media , стр. 382, ISBN 978-0-596-51455-6
- Гринберг, Ира (28 мая 2007 г.), Обработка: творческое кодирование и вычислительное искусство (Фонд) (1-е изд.), Друзья ED, стр. 840, ISBN 978-1-59059-617-3 , заархивировано из оригинала 27 января 2011 г.
- Шиффман, Дэниел (19 августа 2008 г.), Обработка обучения: Руководство для начинающих по программированию изображений, анимации и взаимодействия (1-е изд.), Морган Кауфманн, стр. 450, ISBN 978-0-12-373602-4
- Фалуди, Роберт (4 января 2011 г.), Создание беспроводных сенсорных сетей: с помощью ZigBee, XBee, Arduino и обработки (1-е изд.), O'Reilly Media , стр. 320, ИСБН 978-0-596-80774-0 , заархивировано из оригинала 12 июня 2019 г. , получено 18 мая 2011 г.
- Вантомм, Январь (20 сентября 2012 г.), Processing 2, Поваренная книга по творческому программированию (1-е изд.), Packt Publishing , стр. 291, ISBN 9781849517942 , заархивировано из оригинала 2 июля 2014 г. , получено 25 февраля 2013 г.
- Пирсон, Мэтт (1 июня 2011 г.), Генеративное искусство, Практическое руководство по обработке (1-е изд.), Мэннинг, стр. 240, ISBN 9781935182627 , заархивировано из оригинала 24 июня 2019 г. , получено 25 февраля 2013 г.
- Ян, Вантомм (20 сентября 2012 г.), «Обработка 2: кулинарная книга по творческому программированию» (1-е изд.), Packt Publishing , стр. 306, ISBN 978-1849517942 , заархивировано из оригинала 2 июля 2014 г. , получено 25 февраля 2013 г.
- Заутер, Дэниел (2 мая 2013 г.), Rapid Android Development: создание многофункциональных сенсорных приложений с обработкой (1-е изд.), Pragmatic Bookshelf, стр. 300, ISBN 978-1937785062 , заархивировано из оригинала 13 октября 2019 г. , получено 18 июля 2013 г.
- Градвол, Николаус (20 мая 2013 г.), Processing 2: Creative Coding Hotshot (1-е изд.), Packt Publishing , стр. 266, ISBN 978-1782166726 , заархивировано из оригинала 2 июля 2014 г. , получено 18 июля 2013 г.
Внешние ссылки
[ редактировать ]- Языки программирования
- Программное обеспечение для анимации
- Компьютерная графика
- Кроссплатформенное программное обеспечение
- Образовательные языки программирования
- Бесплатные компьютерные библиотеки
- Java-платформа
- Семейство языков программирования Java
- Языки программирования JVM
- Объектно-ориентированные языки программирования
- Физические вычисления
- Программное обеспечение, использующее лицензию LGPL
- программное обеспечение 2001 года
- Кроссплатформенное бесплатное программное обеспечение
- Языки программирования, созданные в 2001 году.
- Креативное кодирование