Обработка (язык программирования) - Processing (programming language)

Обработка
Обработка логотипа
ПарадигмаОбъектно-ориентированный
РазработаноКейси Риас, Бен Фрай
Впервые появился2001; 19 лет назад (2001)
Стабильный выпуск
3.5.4 / 17 января 2020 г.; 10 месяцев назад (2020-01-17)[1]
ЛицензияGPL, LGPL
Расширения имени файла.pde
Интернет сайтобработка.org

Обработка является Открытый исходный код графическая библиотека и интегрированная среда развития (IDE) создана для электронного искусства, новое медиа искусство, и визуальный дизайн сообщества с целью обучения непрограммистов основам компьютерное программирование в визуальном контексте.

Обработка использует Язык Java, с дополнительными упрощениями, такими как дополнительные классы и псевдонимы математических функций и операций. Он также предоставляет графический пользовательский интерфейс для упрощения этапа компиляции и выполнения.

Язык обработки и IDE были предшественниками других проектов, включая Ардуино, Проводка и p5.js.

История

Проект был инициирован в 2001 г. Кейси Риас и Бен Фрай, оба ранее работали в группе эстетики и вычислений MIT Media Lab. В 2012 году они основали Processing Foundation вместе с Дэниел Шиффман, который присоединился в качестве третьего руководителя проекта. Йоханна Хедва присоединился к Фонду в 2014 году в качестве директора по адвокации.[2]

Первоначально у Processing был URL-адрес proc55ing.net, поскольку обработка домен был занят. В конце концов Реас и Фрай приобрели домен processing.org.[3] Хотя в названии было сочетание букв и цифр, оно все же произносилось обработка. Они не предпочитают, чтобы окружение называлось Proce55ing. Несмотря на изменение доменного имени, в Processing по-прежнему используется термин p5 иногда как сокращенное имя (p5 специально используется, а не p55), например p5.js является ссылкой на это.[4]

Функции

Обработка IDE
Обработка логотипа
Снимок экрана интегрированной среды разработки Processing.
Снимок экрана интегрированной среды разработки Processing.
Стабильный выпуск
3.5.4 / 17 января 2020 г.; 10 месяцев назад (2020-01-17)
Репозиторий Отредактируйте это в Викиданных
Написано вЯва, GLSL, JavaScript
Операционная системаКроссплатформенность
ТипИнтегрированная среда развития
Интернет сайтобработка.org

Обработка включает альбом для рисования, минимальная альтернатива интегрированная среда развития (IDE) для организации проектов.[5]

Каждый скетч Processing на самом деле является подклассом ПАпплет Класс Java (ранее являвшийся подклассом встроенного апплета Java), который реализует большинство функций языка обработки.[6]

При программировании в Обработке все дополнительные классы будут рассматриваться как внутренние классы когда код транслируется на чистую Java перед компиляцией.[7] Это означает, что использование статические переменные и методы в классах запрещен, если обработка явно не указана для кода в чистом режиме Java.

Обработка также позволяет пользователям создавать свои собственные классы в эскизе PApplet. Это позволяет выполнять сложные типы данных который может включать любое количество аргументов и позволяет избежать ограничений использования только стандартных типов данных, таких как: int (целое число), char (персонаж), плавать (действительное число) и цвет (RGB, RGBA, шестнадцатеричный).

Примеры

Самая простая из возможных версий программы "Hello World" в Processing:

// Это напечатает «Hello World». в консоль IDE.println("Привет, мир.");

Однако из-за более визуально ориентированного характера обработки следующий код является лучшим примером внешнего вида языка.

// Привет, мышь.пустота настраивать() {  размер(400, 400);  Инсульт(255);  фон(192, 64, 0);}пустота рисовать() {  линия(150, 25, мышьX, mouseY);}

Награды

В 2005 году Реас и Фрай получили награду Golden Nica от Ars Electronica в категории Net Vision за их работу над обработкой.[8]

Бен Фрай выиграл Национальную премию в области дизайна 2011 г. Смитсоновский музей национального дизайна Купер-Хьюитт в категории «Дизайн взаимодействия». В заявлении о награждении говорится:

"Опираясь на опыт работы в области графического дизайна и информатики, Бен Фрай давно увлекается визуализацией данных. В качестве руководителя Fathom Information Design в Бостоне Фрай разрабатывает программное обеспечение, печатные работы, инсталляции и книги, которые изображают и объясняют темы из геном человека, бейсбольные зарплаты, эволюция текстовых документов. Вместе с Кейси Реасом он основал Processing Project, среду программирования с открытым исходным кодом для обучения вычислительному дизайну и создания эскизов программного обеспечения для интерактивных медиа. Она предоставляет художникам и дизайнерам доступные средства работы с кодом, побуждая инженеров и компьютерных специалистов задуматься о концепциях дизайна ".[9]

Лицензия

Базовые библиотеки Processing, код, включенный в экспортируемые приложения и апплеты, лицензируются на условиях Стандартная общественная лицензия ограниченного применения GNU, позволяя пользователям выпускать свой исходный код с выбором лицензии.

IDE находится под лицензией Стандартная общественная лицензия GNU.

Связанные проекты

Обработка - это не единый язык, а, скорее, ориентированный на искусство подход к обучению, преподаванию и созданию вещей с помощью кода. Есть несколько вариантов и связанных проектов:

Дизайн по номерам

Обработка была основана на оригинальной работе, выполненной на Дизайн по номерам проект в MIT. Он разделяет многие из тех же идей и является прямым детищем этого эксперимента.

Processing.js

В 2008, Джон Ресиг Обработка перенесена на JavaScript с использованием Элемент холста для рендеринга,[10] позволяет использовать Processing в современных веб-браузерах без необходимости в плагине Java. С тех пор сообщество открытого исходного кода, включая студентов Сенека Колледж в Торонто взяли на себя этот проект.

Processing.js также используется для пропаганды базового программирования для студентов всех возрастов на Ханская академия путем создания рисунков и анимации. Учащиеся демонстрируют свои творения другим учащимся.

p5.js

В 2013, Лорен Маккарти создал p5.js, родной JavaScript альтернатива Processing.js, имеющая официальную поддержку Processing Foundation.

Processing.py

Режим Python для обработки или Processing.py - это интерфейс Python для базового набора инструментов Java. Он был в основном разработан Джонатаном Файнбергом, начиная с 2010 года, при участии Джеймса Жиля и Бена Алкова.[11]

Электропроводка, Arduino и Fritzing

Обработка породила еще один проект, Проводка, который использует среду Processing IDE с набором библиотек, написанных на C ++ язык как способ научить художников программировать микроконтроллеры.[12] В настоящее время существует два отдельных аппаратных проекта: проводка и Ардуино, используя среду и язык проводки.Fritzing - еще одна программная среда того же типа, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и делать шаг от физического прототипа к реальному продукту.

Мобильная обработка

Другой побочный проект, ныне несуществующий, - это Mobile Processing от Francis Li, который позволил программам, написанным с использованием языка Processing и среды, работать на мобильных устройствах на базе Java. Сегодня некоторые из тех же функций предоставляются самой обработкой.[13]

iProcessing

iProcessing был создан, чтобы помочь людям разрабатывать собственные iPhone приложения, использующие язык обработки. Это интеграция библиотеки Processing.js и фреймворка Javascript для iPhone.[14]

Spde

Spde (среда разработки Scala Processing) заменяет сокращенный синтаксис Java и собственный препроцессор Processing на готовый Scala язык программирования, который также работает на Платформа Java и применяет некоторые из тех же ограничений, такие как запрет статических методов, а также позволяет более сжатый код и поддерживает функциональное программирование.[15][16][17]

JRubyArt

JRubyArt (ранее назывался рубиновая обработка) это обертка для обработки в Рубин язык, который работает на платформе Java с использованием JRuby.

Quil

Quil - это интерактивная библиотека анимации для Clojure и ClojureScript на основе Processing.[18][19]

Смотрите также

Сноски

  1. ^ "Скачать Processing.org". processing.org. Получено 2018-07-26.
  2. ^ "Люди". processingfoundation.org. Архивировано из оригинал на 2019-10-05. Получено 2017-04-24.
  3. ^ "Обработка 1.0 _ALPHA_ - processing.org". processing.org. Архивировано из оригинал на 2012-04-28. Получено 2017-12-24.
  4. ^ «Что означает цифра 5 в имени« p5 »? · Проблема № 2443 · processing / p5.js». GitHub.
  5. ^ Ира Гринберг (31 декабря 2007 г.). Обработка: творческое кодирование и вычислительное искусство. Апресс. С. 151–. ISBN  978-1-4302-0310-0.
  6. ^ Жанин Мейер (15 июня 2018 г.). Программирование 101: как и почему программирование раскрыто с помощью языка программирования обработки данных. Апресс. стр. 121–. ISBN  978-1-4842-3697-0.
  7. ^ Ира Гринберг (25 марта 2010 г.). Основное руководство по обработке для разработчиков Flash. Апресс. С. 412–. ISBN  978-1-4302-1980-4.
  8. ^ Мередит Хой (3 января 2017 г.). От точки к пикселю: генеалогия цифровой эстетики. Издательство Дартмутского колледжа. С. 142–. ISBN  978-1-5126-0023-0.
  9. ^ http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf
  10. ^ "Джон Ресиг - Processing.js".
  11. ^ Эллисон Пэрриш; Бен Фрай; Кейси Риас (11 мая 2016 г.). Начало работы с Processing.py: создание интерактивной графики в режиме Python для обработки. Maker Media, Incorporated. ISBN  978-1-4571-8679-0.
  12. ^ «Обработка, подключение и Arduino (EE Tip 101) - Circuit Cellar». 18 сентября 2013 г.[постоянная мертвая ссылка ]
  13. ^ «Android - Обработка». Архивировано из оригинал в 2014-08-19. Получено 2013-06-03.
  14. ^ «iProcessing помещает Processing.js на iPhone - а как насчет браузеров? - CDM Create Digital Music». 11 февраля 2010. Архивировано с оригинал 13 октября 2019 г.. Получено 23 июля 2018.
  15. ^ "Spde: Spde". Технически мы. Архивировано из оригинал на 2011-08-02. Получено 2013-08-20.
  16. ^ "Coderspiel / Runaway Processing". Технически мы. Архивировано из оригинал на 2016-11-10. Получено 2013-08-20.
  17. ^ "Кодершпиль / Флокирование с Spde". Технически.us. Получено 2013-08-20.
  18. ^ «Quil: анимация на Clojure».
  19. ^ "Quil Intro".

Рекомендации

внешняя ссылка