처리(프로그래밍 언어)

Processing (programming language)
처리.
Processing logo
패러다임객체 지향
설계자케이시 리스, 벤 프라이
처음 등장한2001년; 21년 전(2001년)
안정된 릴리스
4.0b8 / 2022년 4월 23일, 3개월 전(2022-04-23)[1]
면허증.GPL, LGPL
파일 이름 확장자.pde
웹 사이트processing.org

프로세싱무료 그래픽 라이브러리 및 통합 개발 환경(IDE)으로, 비프로그래머에게 시각적인 맥락에서 컴퓨터 프로그래밍의 기초를 가르치는 것을 목적으로 전자 예술, 뉴 미디어 아트 및 비주얼 디자인 커뮤니티용으로 구축되었습니다.

처리에서는 Java 언어를 사용하고 추가 클래스 및 별칭화된 수학 함수 및 연산과 같은 추가 단순화 작업을 사용합니다.또한 컴파일 및 실행 단계를 단순화하기 위한 그래픽 사용자 인터페이스도 제공합니다.

프로세싱 언어와 IDE는 Arduino, 배선프로세싱.js 등의 다른 프로젝트의 선구자가 되어 왔습니다.

역사

이 프로젝트는 2001년에 케이시 리스(Casey Reas)와 벤 프라이(Ben Fry)에 의해 시작되었습니다.둘 다 MIT Media Lab의 미학 및 계산 그룹에 속해 있었습니다.2012년에는 3번째 프로젝트 리더로 참여한 Daniel Shiffman과 함께 Processing Foundation을 시작했습니다.Johanna Hedva는 2014년에 [2]이 재단에 변호 책임자로 가입했습니다.

원래 프로세싱 도메인이 사용되었기 때문에 프로세싱의 URL은 proce55ing.net이었습니다.결국 Reas와 Fry는 [3]processing.org 도메인을 취득했다.그 이름은 문자와 숫자의 조합을 가지고 있었지만, 여전히 가공으로 발음되었다.Proce55ing이라고 불리는 환경을 선호하지 않습니다.도메인 이름이 변경되어도 프로세싱에서는 여전히 p5라는 용어를 단축명(p55가 아닌 p5가 특별히 사용됨)으로 사용하는 경우가 있습니다.예를 들어 p5.js는 [4]p5를 참조합니다.

2012년에 Processing Foundation이 설립되어 501(c)(3)의 비영리 [5]지위를 획득하여 Processing Project에서 시작된 도구와 아이디어를 중심으로 커뮤니티를 지원하고 있습니다.이 재단은 전 세계 사람들이 매년 Processing Community [6]Day라고 불리는 지역 행사에서 만날 것을 장려한다.

특징들

IDE 처리 중
Processing logo
Processing 4.0b1 Screenshot.png
프로세싱의 통합 개발 환경 스크린샷.
안정된 릴리스
3.5.4 / 2020년 1월 17일, 2년 전(2020-01-17)
저장소
기입처Java, GLSL, JavaScript
운영 체제크로스 플랫폼
유형통합 개발 환경
웹 사이트processing.org

처리에는 프로젝트 [7]구성을 위한 통합 개발 환경(IDE)의 최소 대안인 스케치북이 포함됩니다.

모든 처리 스케치는 실제로 다음 항목의 하위 클래스입니다.PApplet 처리 언어의 대부분의 기능을 구현하는 Java 클래스(Java의 기본 제공 애플릿의 하위 클래스)[8]입니다.

Processing에서 프로그래밍할 때 정의된 모든 추가 클래스는 [9]컴파일 전에 코드가 순수 Java로 변환되면 내부 클래스로 처리됩니다.즉, Processing이 순수 Java 모드에서 코드화하도록 명시적으로 지시되지 않는 한 클래스에서 정적 변수 및 메서드사용할 수 없습니다.

또한 처리를 통해 사용자는 PApplet 스케치 내에 자신만의 클래스를 만들 수 있습니다.이것에 의해, 임의의 수의 인수를 포함할 수 있는 복잡한 데이터 타입이 가능하게 되어, int(정수), char(문자), float(실수), color(RGB, RGBA, 16진수)의 표준 데이터 타입만을 사용하는 제한이 없어집니다.

프로세싱에서 "Hello World" 프로그램의 가장 간단한 버전은 다음과 같습니다.

// 그러면 IDE 콘솔에 "Hello World" 가 출력됩니다. 인쇄('헬로 월드'); 

그러나 프로세싱의 보다 시각적인 특성으로 인해 다음 코드가[10] 언어의 모양과 느낌을 보여주는 더 좋은 예입니다.

// Hello 마우스. 무효 세우다() {   크기(400, 400);   스트로크(255);   배경(192, 64, 0); }  무효 그리다() {   (150, 25, 마우스 X, 마우스); } 

어워드

2005년 Reas와 Fry는 [11]가공에 관한 업적으로 NetVision 부문에서 Ars Electronica로부터 Golden Nica 상을 받았습니다.

Ben Fry는 Smithsonian Cooper-Hewitt National Design Museum이 수여하는 2011년 National Design Award에서 Interaction Design 부문에서 수상했습니다.수상 내역에는 다음과 같이 기재되어 있습니다.

「그래픽 디자인과 컴퓨터 사이언스의 배경을 배경으로 한 Ben Fry는, 데이터의 시각화에 오랫동안 매료되어 왔습니다.보스턴의 Pathom Information Design의 교장으로서 Fry는 인간 게놈에서 야구 연봉, 텍스트 문서의 진화까지 주제를 묘사하고 설명하는 소프트웨어, 인쇄물, 설치 및 책을 개발합니다.그는 Casey Reas와 함께 컴퓨터 설계를 가르치고 인터랙티브 미디어 소프트웨어를 스케치하기 위한 오픈 소스 프로그래밍 환경인 Processing Project를 설립했습니다.아티스트나 디자이너에게 코드로 작업할 수 있는 수단을 제공하는 동시에 엔지니어나 컴퓨터 과학자에게 디자인 [12]컨셉에 대해 생각하게 합니다.

면허증.

프로세싱의 코어 라이브러리(내보낸 애플리케이션과 애플릿에 포함된 코드)는 GNU Lesser General Public License에 따라 라이센스가 부여되므로 사용자는 라이선스를 선택하여 원래 코드를 릴리스할 수 있습니다.

IDE는 GNU General Public License에 따라 라이선스가 부여됩니다.

관련 프로젝트

프로세싱은 단일 언어가 아니라 코드를 사용하여 배우고 가르치고 만드는 예술 중심의 접근법입니다.다음과 같은 여러 가지 변형 및 관련 프로젝트가 있습니다.

번호별 설계

처리는 MIT의 Design By Numbers 프로젝트에서 수행된 원래 작업을 기반으로 했습니다.그것은 많은 같은 생각을 공유하며 그 실험의 직접적인 산물이다.

처리중.js

Processing.js단종된 JavaScript 처리 포트이며 시각화, 이미지 및 인터랙티브 콘텐츠를 작성하도록 설계된 프레임워크입니다. 브라우저는 Java 애플릿이나 Flash 플러그인 없이도 애니메이션, 비주얼 애플리케이션, 게임 및 기타 그래픽 콘텐츠를 표시할 수 있습니다.

Processing.js는 원래 기존 프로세싱 개발자 및 기존 코드가 웹에서 변경되지 않고 작동할 수 있도록 하기 위해 작성되었습니다.Processing.js는 JavaScript를 사용하여 HTML 캔버스 요소에 2D 및 3D 콘텐츠를 렌더링했습니다.또한 이 요소를 구현한 브라우저(Mozilla Firefox, Opera, Internet Explorer, Safari 및 Google Chrome의 최신 버전)에서 지원됩니다.

Processing.js의 개발은 John Resig에 의해 시작되었으며 2008년 최초 출시 후 Seneca College의 CDOT 그룹에 의해 채택되었습니다.학생과 교수 팀은 Processing.js를 Processing v1.0 API와 동등하게 하기 위한 이식 작업을 완료하고 900개 이상의 버그를 수정하고 12개의 릴리스를 출하하여 이 과정에서 활발한 커뮤니티를 구축했습니다.이 프로젝트는 David Humphrey, Al MacDonald 및 Corban Brook이 이끄는 Mozilla FoundationSeneca College의 파트너십을 통해 운영되었습니다.

Processing.js 개발은 2010년 2월에 GitHub로 옮겨져 58명의 개인으로부터 기부를 받았으며 API 버전 2.1까지 Processing과 동등하게 유지되었습니다.이 프로젝트는 활발한 개발이 중단된 지 2년 만인 2018년 12월에 중단되었다.

Processing.js는 도면과 애니메이션을 제작함으로써 Khan Academy의 모든 연령대의 학생들에게 매우 기본적인 프로그래밍을 제안하기 위해서도 사용됩니다.학습자는 자신의 창작물을 다른 학습자에게 공개합니다.

페이지 5.199

2013년 Lauren McCarthy는 Processing.js를 대체하는 네이티브 JavaScript인 p5.js를 만들었습니다.이는 Processing Foundation의 공식 지원을 받고 있습니다.

P5Py

p5는 Python을 사용하여 시뮬레이션과 인터랙티브 아트를 빠르게 만들 수 있도록 높은 수준의 그리기 기능을 제공하는 Python 라이브러리입니다.프로세싱의 핵심 아이디어인 비주얼 컨텍스트에서의 코드 작성 학습과 Python의 가독성을 결합하여 초보자, 교육자, [13]아티스트가 프로그래밍에 보다 쉽게 접근할 수 있도록 합니다.

처리.화이

Python Mode for Processing 또는 Processing.py은 기본 Java 툴킷에 대한 Python 인터페이스입니다.Jonathan Feinberg가 2010년부터 James Gilles와 Ben Alkov의 [14]기부를 받아 주로 개발했습니다.

py5

py5는 Processing for Python 3.8+ 버전입니다.JPype를 사용하는 CPython 인터프리터가 Java Processing jars를 사용할 수 있도록 합니다.Java [15]코드 대신 Python을 사용하는 경우를 제외하고 Processing이 할 수 있는 모든 것을 할 수 있습니다.

배선, Arduino 및 프리칭

프로세싱은 또 다른 프로젝트인 배선(Wiring)을 생성했습니다.이 프로젝트는 아티스트에게 [16]마이크로컨트롤러의 프로그래밍 방법을 가르치기 위한 방법으로 C++ 언어로 작성된 라이브러리 모음과 함께 Processing IDE를 사용합니다.현재 배선 환경과 언어를 사용하는 두 가지 하드웨어 프로젝트(배선과 Arduino)가 있습니다.프릿징은 디자이너와 아티스트가 대화형 프로토타입을 문서화하고 물리적 프로토타이핑에서 실제 제품으로 전환하는 데 도움이 되는 또 다른 종류의 소프트웨어 환경입니다.

모바일 처리

현재는 사라진 또 다른 스핀오프 프로젝트는 Francis Li의 모바일 프로세싱으로, 프로세싱 언어와 환경을 사용하여 작성된 소프트웨어를 Java 구동 모바일 디바이스에서 실행할 수 있게 했다.현재는 프로세싱 자체에서 동일한 기능의 [17]일부를 제공하고 있습니다.

i프로세서

iProcessing은 Processing 언어를 사용하는 네이티브 iPhone 애플리케이션을 개발할 수 있도록 개발되었습니다.Processing.js 라이브러리와 [18]iPhone용 Javascript 어플리케이션 프레임워크의 통합입니다.

스페이드

Spde(Scala Processing Development Environment)는 Processing의 축소된 Java 구문 및 커스텀 프리프로세서를 Java 플랫폼 상에서 실행하며 정적 메서드를 허용하지 않는 것과 같은 제한을 적용하는 동시에 보다 간결한 코드를 허용하고 기능을 지원합니다.암밍[19][20][21]

JRubyArt

JRubyArt(구 루비 처리)는 JRuby를 사용하여 Java 플랫폼에서 실행되는 루비 언어로 된 처리용 래퍼입니다.

Quil은 [22][23]Processing 기반의 Clojure 및 ClojureScript용 인터랙티브 애니메이션 라이브러리입니다.

Media

라디오헤드의 '하우스 오브 카드' 뮤직비디오는 라이다 기술을 접목한 프로세싱(Processing)과 아크릴 유리와 거울이용해 마치 바람에 [24]실려가는 것처럼 이미지가 일그러지거나 부분적으로 사라지거나 분해되는 장면을 연출했다.가공은 Nature나 New York Times와 같은 출판물의 일러스트 제작, 갤러리 전시용 조각품 출력, 거대한 비디오 벽 제어, 스웨터 [25]뜨개질에도 사용되어 왔습니다.

「 」를 참조해 주세요.

각주

  1. ^ "Download Processing.org". processing.org. Retrieved 2022-07-07.
  2. ^ "People". processingfoundation.org. Archived from the original on 2019-10-05. Retrieved 2017-04-24.
  3. ^ "Processing 1.0 _ALPHA_ - processing.org". processing.org. Archived from the original on 2012-04-28. Retrieved 2017-12-24.
  4. ^ "What means number 5 in name "p5"? · Issue #2443 · processing/p5.js". GitHub.
  5. ^ Casey Reas; Ben Fry (May 29, 2018). "A Modern Prometheus". Medium.
  6. ^ "PCD". Medium.
  7. ^ Ira Greenberg (31 December 2007). Processing: Creative Coding and Computational Art. Apress. pp. 151–. ISBN 978-1-4302-0310-0.
  8. ^ Jeanine Meyer (15 June 2018). Programming 101: The How and Why of Programming Revealed Using the Processing Programming Language. Apress. pp. 121–. ISBN 978-1-4842-3697-0.
  9. ^ Ira Greenberg (25 March 2010). The Essential Guide to Processing for Flash Developers. Apress. pp. 412–. ISBN 978-1-4302-1980-4.
  10. ^ Tayste. "Hello Mouse - OpenProcessing". OpenProcessing.org. Retrieved 3 March 2022.
  11. ^ Meredith Hoy (3 January 2017). From Point to Pixel: A Genealogy of Digital Aesthetics. Dartmouth College Press. pp. 142–. ISBN 978-1-5126-0023-0.
  12. ^ http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf[베어 URL PDF]
  13. ^ p5, p5py, 2021-09-29, retrieved 2021-10-12
  14. ^ Allison Parrish; Ben Fry; Casey Reas (11 May 2016). Getting Started with Processing.py: Making Interactive Graphics with Processing's Python Mode. Maker Media, Incorporated. ISBN 978-1-4571-8679-0.
  15. ^ py5 documentation, hx2a, 2021-09-13, retrieved 2022-05-10
  16. ^ "Processing, Wiring, and Arduino (EE Tip 101) - Circuit Cellar". 18 September 2013.[영구 데드링크]
  17. ^ "Android - Processing". Archived from the original on 2014-08-19. Retrieved 2013-06-03.
  18. ^ "iProcessing Puts Processing.js on iPhone - But What About Browsers? - CDM Create Digital Music". 11 February 2010. Archived from the original on 13 October 2019. Retrieved 23 July 2018.
  19. ^ "Spde: Spde". Technically.us. Archived from the original on 2011-08-02. Retrieved 2013-08-20.
  20. ^ "Coderspiel / Runaway processing". Technically.us. Archived from the original on 2016-11-10. Retrieved 2013-08-20.
  21. ^ "Coderspiel / Flocking with Spde". Technically.us. Retrieved 2013-08-20.
  22. ^ "Quil: animation in Clojure".
  23. ^ "Quil Intro".
  24. ^ Nye, Calley (2008-07-14). "Radiohead Partners With Google For Music Video Launch". The Washington Post. ISSN 0190-8286. Retrieved 2021-03-16.
  25. ^ Reas, Casey; Ben Fry (2015). Getting started with Processing (Second ed.). San Francisco. p. 183. ISBN 978-1-4571-8708-7. OCLC 905522686.

레퍼런스

외부 링크