Processing

"처리" 라는 뜻의 영어 단어. 본 항목에서는 프로그래밍 언어 'Processing'을 다루고 있다. 언어 이름으로 흔하게 쓰는 일반명사를 사용한 덕에 Go와 함께 구글링하기 매우 골룸한 언어이다

1 개요

미디어아트 및 교육용 언어 지향의 오픈소스 프로그래밍 언어. 라이센스는 GPL, 라이브러리 라이센스는 LGPL을 따르고 있다.

MIT 미디어 연구소 소속의 Casey Reas와 Ben Fry가 개발하여 2001년 처음 공개하였다. 알파, 베타 과정을 꽤 길게 거쳤으나, 이미 그 단계에서 미디어 아트 지향의 여러 교육기관에서 널리 사용되고 있었으며 1.0 버전은 2008년 11월에 공개되었다. 초창기에는 'Proce55ing'이라는 특이한 철자를 썼었는데(leet로 S와 5의 형태적 유사성을 이용) 이것은 processing.org의 도메인이 선점되어있어서 proce55ing를 쓸 수밖에 없었기 때문이었다는 듯(...). 현재는 Processing 쪽이 공식 표기이며 도메인도 processing.org를 사용한다(proce55ing.org로 들어가면 processing.org로 포워딩된다).

2 특징

기본적인 아이디어는 과거 두 개발자가 소싯적에 사용했었던 Logo[1]BASIC이 간단한 명령 몇 줄로 그림을 그리거나 사용자와 상호작용 할 수 있는 프로그래밍 환경을 제공했던 데서 착안했다고 하며, Processing과 유사한 목적으로 만들어진 John Maeda[2]의 'Design By Numbers'의 영향도 크게 받았다고 한다. 실제로 인터페이스 등이 DBN과 유사하다.

언어 자체의 문법은 기본적인 것은 Java에서 거의 그대로 가져왔지만 문장의 사용이 훨씬 단순화되어있는 것이 특징. 자바의 OOP 개념도 가려서 보이지 않게 해두어 소스를 얼핏 보면 C와 같은 절차형 프로그래밍 언어처럼 보인다.[3] OOP 개념이 오히려 초심자에게는 벽으로 작용한다고 판단한 듯 하다.

특히 간단한 명령(함수) 몇 줄만으로 시각적 표현이 가능한 것이 장점이다. 심지어는 3D 그래픽스나 영상 제어등도 그다지 어렵지 않게 구현 가능하다. 덕분에 비교적 프로그래밍에 전문성이 높지 않은 미디어 아티스트의 작업 및 디자이너의 프로토타이핑에 주로 활용되며, 언어 자체의 진입장벽이 비교적 높지 않아 취미 지향의 프로그래밍 초심자가 프로그래밍이라는 개념을 처음 익히기에도 적합한 편이다. 실제로는 Java를 래핑해서 돌아가는 구조이기 때문에 문법이나 언어의 상세 기술은 거의 자바의 그것을 그대로 따르고 있으며 컴파일한 결과물은 자바 가상머신에서 실행된다. 따라서 자바 애플릿 등으로 내보내서 웹에 작업물을 공개하거나 하는 것도 가능하다.
함수 몇개로 작동시킬때 드는 그 느낌같은 느낌은 마치 가독성 좋은 스크래치를 하는 듯한 느낌이 든다.

자바로 만들어진 심플한 자체 IDE를 제공하지만 기본적으로 자바를 래핑한 언어이므로 원한다면 이클립스와 같은 외부 IDE를 이용할 수도 있다. 물론 이 경우에는 자바에서 프로세싱의 pApplet 클래스를 가져다 쓰는 형식이 되므로 정식 프로세싱 코드와 완전히 동일하게 코딩할 수는 없고, 자바 프로그래밍에 대한 기초적인 지식 정도는 있어야한다.

국내에서는 디자인 및 예술 계통 학과의 커리큘럼 중심으로 보급되어 있지만 그 외의 사용은 매우 저조한 편. 사실 그쪽 전공자라거나 미디어 아트 작업이라도 하지 않는 이상 이걸로 할 만한 게 별로 없다[4]. 이쪽(디자인/예술 계열) 전공이 아닌 이상 이런 언어가 있는지 아무도 모른다. 심지어는 컴퓨터공학을 전공한 전문가들조차도 프로세싱에 대해 이야기하면 그게 뭐냐고 반응할 정도. 안습.

디자인/예술 관련 학과의 커리큘럼이라는 측면에서 보자면 컴퓨터에 익숙하지 않은 디자인/예술 계통 전공 학부생들에게 액션 스크립트와 함께 충격과 공포를 안겨주는 존재. 사실 학교 올 때까지(아니 입학한 뒤에도 상당기간) 자기가 학교에서 프로그래밍을 배우는 일이 생길 거라고 생각하는 미대생은 거의 없다. 디자이너도 프로그래밍 배워야 되는 더러운 세상 다만 이것은 학교에 따라 커리큘럼 차이가 커서 이런 게 있는지도 모르고 행복하게 졸업하는 학교도 많다.

덕분에 국내에는 독학할 만한 자료도 거의 없다시피 했지만 2011년부터 하나 둘씩 외국 서적들이 번역되는 움직임을 보이고 있다. 책이 나오기 전에는 학교나 문화강좌 커리큘럼 아니면 웹을 통해서 독학하는 것[5] 정도가 거의 유일한 루트였다.
아니 프로세싱 레퍼런스 수준의 영어도 못읽으면 영어공부를 어떻게한거지??

시망 수준의 인지도를 달리는 국내사정과 달리 해외에서는 의외로 좀 인지도가 있는 편이라[6] 다양한 라이브러리를 찾아볼 수 있으며 트러블 슈팅도 오피셜 사이트의 포럼을 중심으로 그럭저럭 활발한 편이다. 프로세싱을 가지고 Wii 리모컨이나 키넥트 같은 것을 다룰 수 있는 라이브러리도 있고보면 미디어 아트 작업에 필요한 라이브러리는 상당히 충실하게 갖추어져 있음을 알 수 있다. 정말 웬만한 라이브러리는 다 있다고 해도 과언이 아니다. 문제는 영어울렁증 2012년 들어서는 프로그래밍 언어 점유율 집계에서도 50위권 밖이지만 집계에 잡히기 시작하고 있는 것으로 보아 나름대로 사용자가 늘고 있는 추세인 듯.

프로세싱의 사용사례로, 뇌졸중으로 인해 언어기능에 장애가 생긴 어머니를 위해 키넥트와 프로세싱을 이용해 메일을 보낼 수 있는 시스템을 구축한 사례가 있다. 상세한 설명은 [1]을 참조. [7]

파생 프로젝트로 Arduino가 있다. 이쪽은 AVR 기반의 임베디드 프로그래밍 환경.

3 프로세싱 2

2011년부터 2.0 버전이 개발되기 시작하여 알파, 베타 테스트를 거쳐 2013년 6월에 2.0 정식버전이 발표되었다. 정식버전으로 오면서 아이콘, 로고, IDE 디자인 등이 일신되었고 사이트도 리뉴얼되었다. 2.0과 구버전과의 기본적인 호환성은 크게 문제가 없는 듯하나 일부 클래스가 삭제, 변경된 부분이 있고 종종 구버전용의 라이브러리가 문제를 일으키는 경우도 있다고 알려져 있으며. 렌더러가 변경되면서 화면 출력이 아주 미묘하지만 다르게 나오는 경우가 있어 같은 소스를 컴파일 했을 때 100% 동일한 결과가 나온다고 보장할 수 없다. 이런 문제로 인해 부득이하게 프로세싱 1의 최종버전인 1.5.1 버전(2011.5.15 발표)을 계속해서 사용해야 하는 경우도 드물게 생기는 듯.

2.0 버전의 대체적인 개선 사항은 이하와 같다.

  • OpenGL 지원 강화 : OpenGL 라이브러리 자체가 리뉴얼 되기도 하였고, 기존의 소프트웨어 렌더링 기반의 P2D, P3D 모드는 아예 제거되어 이들 역시 OpenGL 렌더러를 사용하게 되었다. 렌더러가 바뀐 덕분에 특정 코드의 경우 미묘하게 표현이 달라지는 경우가 있다.
  • JavaScript 모드의 추가 : 결과물을 기존의 JVM이 아닌 JavaScript 기반으로 내보낼 수 있다. 이 기능으로 인해 제작한 스케치를 쉽게 웹으로 공유할 수 있게 되었다. 실은 기존에 있던 processing.js라는 파생 프로젝트의 결과를 피드백한 것. 다만 한계는 있어서 기존 JVM 모드의 모든 기능을 사용할 수 있는 것은 아니다.
  • Video 라이브러리의 완전 교체 : 퀵타임에 의존하는 1.5.1 버전까지의 Video 라이브러리를 버리고 GStreamer[8] 기반의 새로운 라이브러리로 완전히 리뉴얼하였다.
  • XML 지원 강화. XML이라는 새로운 클래스가 기존의 XMLElement 클래스를 대체하게 되었다.
  • Table 클래스의 추가. .CSV등의 테이블 포맷을 직접 프로세싱에서 다룰 수 있게 되었다. 실제로 사용해보면 뭔가의 데이터를 저장해서 입출력하는 작업을 할때 굉장히 편리하다.
  • 64비트 지원 강화. 맥OS버전의 경우 아예 옵션에서 32비트와 64비트를 설정이 가능하다. 윈도 버전의 경우는 예전과 동일하게 별도의 바이너리로 제공.
  • Java 애플릿 지원 삭제. 애플릿 자체가 요즘은 잘 사용되지 않는 것도 있고 JavaScript 모드 지원으로 인해 웹공개가 쉬워졌으므로 더 이상 필요없다고 판단한 듯 하다. 하지만 JavaScript 모드의 호환이 완전치 않다는 점을 생각하면 약간 아쉬운 점.
  • MovieMaker 클래스 삭제. 프로세싱으로 만든 스케치 실행 화면을 동영상으로 만드는 기능이었는데 퀵타임에 의존하는 기능이라서 잘렸다. 대신 MovieMaker 툴이 IDE에 내장되도록 변경되었다.

이 외에도 자잘한 변화 및 개선점이 상당히 많다. 이 중 가장 반길만한 변화는 동영상 및 웹캠 관련 표준 라이브러리인 Video 라이브러리의 리뉴얼. 구버전인 1.5.1까지는 애플퀵타임 플레이어의 기능에 의존하는 구조였는데, OS X의 경우에는 별 문제가 되지 않지만 윈도우즈에서는 매우 문제가 심각하다. 왜 문제가 심각한지는 퀵타임 플레이어 항목을 보면 상세히 나오지만, 프로세싱 때문에 퀵타임 설치하고 MIME 타입 다 꼬이는 경험을 하고 나면 애플의 만행에 이를 갈게 된다(...). 더욱 더 흉악한 것은 QT Lite나 퀵타임 얼터너티브 같은 변종버전으로 우회도 불가능했다는 것. 윈도 사용자 다 죽게 생겼다 이놈들아 엎친데 덮친 격으로 퀵타임이 없는 리눅스는 그냥 쿨하게 Video 라이브러리가 지원이 안됐었다. 아놔 오픈소스라면서 리눅서 무시하나여

이런 문제 때문에 GStreamer 기반의 외부 라이브러리인 GSVideo라는 것을 사용하는 사람이 많았는데, 프로세싱 2.0에서 리뉴얼된 Video 라이브러리가 바로 이 GSVideo의 개량버전. 덕분에 퀵타임 같은 멀웨어 설치를 하지 않아도 동영상/웹캠 관련 기능이 사용가능해졌으며 드디어 리눅스에서도 Video 라이브러리를 사용할수 있게 되었다. 부수적인 효과로 mov 파일만 지원하던 구버전보다 지원하는 포맷도 크게 늘었다. 다만 일부 사용자의 경우 GStreamer가 문제를 일으켜서 이유없이 에러를 뱉으며 Video 라이브러리를 사용할 수 없는 경우가 있는데 제작자 역시 이 문제를 알고 있는 듯 하지만 FAQ에는 해결책 추가예정(...)이라고만 써있고 해결책이 나와있지 않다. 뭠미...

2013년 10월에 공개된 2.1버전에서 IDE의 폰트를 직접 설정할 수 있는 기능[9]이 들어가면서 소스파일에 있는 한글 주석이 깨지는 현상이 발생한다. 환경설정에서 폰트를 굴림체 등의 한글이 지원되는 폰트로 바꾸면 깨지는 문제는 해결되기는 하는데, 이번에는 한글 자간이 반각 단위로 출력되면서 글씨가 서로 겹치는 기괴한 문제가 발생한다(...). 이 문제는 한자 등의 2바이트 전각 문자에서 공통적으로 일어나는 것으로 해당 문제는 개발자인 Ben Fry에게 리포트 되었으니 다음 버전에서는 개선될 것 같다. 그때까지는 이상이 없는 2.0.3 버전을 쓰던지 영문으로 주석을 달자(...). 그밖에도 2.1버전은 Serial 클래스에도 심각한 버그가 있었으나 이 문제는 2.1.1에서 해결. 하지만 전각문자 겹치는 문제는 해결이 안됐다.

사실 문자 입력관계로는 2.0.3 등의 이전 버전에도 문제가 있는데, 프로세싱 2가 되면서 일본어 등의 비알파벳계 문자들의 입력을 IDE에서 지원하는 옵션이 생겼지만 이 옵션을 켜면 윈도판 기준으로 한글의 경우에는 오히려 문자 입력이 꼬이는 기괴한 문제가 발생한다. 옵션을 끄면 1.5 시절처럼 타이핑 중간 과정이 제대로 출력되지 않지만 입력 자체는 제대로 된다. 맥OS판이나 리눅스판의 경우는 추가바람. 프로세싱/아두이노 IDE의 한글입력 문제는 꽤나 고질적인 문제인데 국내에서는 사용자가 적어서 그런지 리포트가 제대로 되지 않는 듯.

프로세싱 2의 최종버전은 2.2.1(2014.5.19 발표). 이후에는 프로세싱 3로 이행했다.

4 프로세싱 3

프로세싱 1에서 2로 이행할 때처럼 알파/베타테스트를 진행하다 2015년 9월 30일 3.0 버전을 정식 릴리스했다. 1때보다 2때의 알파/베타기간이 (많이) 짧았는데, 3의 알파/베타기간은 더 짧았던 것을 보면 개발환경이 점점 좋아지고 있는 듯하다. 3가 되면서 로고 디자인도 새로 바뀌었다. 프로세싱 3의 변경점은 대략 다음과 같다.

  • 렌더러 재구축 : 2.0에서 대대적으로 도입한 OpenGL 렌더러를 재구축했다. 기존의 렌더러보다 속도가 빨라졌고 새로 추가된 'FX2D' 렌더러는 레티나 디스플레이 같은 고해상도 환경에서 더욱 빠른 렌더링을 자랑한다고.
  • 에디터/UI의 개선 : 기존에 사용해왔던 프로세싱 IDE를 새로 갈아 엎었다. 비주얼스튜디오나 이클립스 같은 다른 IDE에서는 당연하게 제공되어온 자동완성 기능이 드디어 지원되고[10] 디버거도 추가. 제대로 된 IDE의 꼴을 갖춰나가고 있다.
    • IDE가 다국어 지원을 하게 되면서 한국어도 지원된다. 다만 메뉴 정도만 한글화되어있고 메시지는 예전 그대로. 초반엔 고질적인 한글 입력문제(문자가 겹치거나 하는 현상 등)가 여전히 존재했으나 3.1 버전부터는 입력이 매끄럽지 않은대로[11] 일단 한글 입력은 문제없이 가능하다. 참고로 초기 설정에서는 글꼴이 영문 전용(Source Code Pro)이라 한글이 깨져나오므로 원활하게 사용하고 싶거든 파일>환경설정에서 글꼴을 굴림체 같은 한글 글꼴로 설정하고 사용하자.
  • 고해상도 디스플레이 대응 : 4K나 레티나같은 고밀도 디스플레이가 점차 일반화되는 추세에 따라 이에 대응하는 함수를 추가하였다.
  • 통합 추가요소 관리자(Unified Contributions Manager)[12] : 라이브러리, 모드, 도구 등 여러 요소를 추가/관리할 수 있는 관리자가 생겼다. 참고로 초기에는 기본인 JAVA 모드밖에 사용할 수 없고 안드로이드 모드나 자바스크립트 모드는 이 통합 추가요소 관리자를 통해 추가하도록 되어있다.
  • Applet 제거 : 코드를 다시 써서 더이상 PApplet 클래스가 자바의 java.awt.Applet을 베이스 클래스로 이용하지 않는다고 한다. 프로세싱에서 자바 애플릿으로 내보내기를 제거하려고 시도한지는 오래되었는데 아예 코드 의존성 자체를 없애버린 모양.
  • 새로운 기능/메소드(함수) 추가
    • FX2D 렌더러 : 2D 그래픽 퍼포먼스가 비약적으로 향상된다고 한다. 커다란 화면에서 많은 오브젝트를 뿌려야할 때 유용할 듯.
    • fullScreen() 함수 : 좀더 전체화면으로 디스플레이하기가 편리해졌다. 졸업전시 준비하는 학생들 좋아하는 소리가 들린다
    • PVector 클래스 : 메소드 체이닝을 지원하게 되었다.
  • 그밖에 몇몇 함수나 환경변수의 사용방법이 변경된 것이 있다.

내부적으로는 프로세싱 2때만큼 갈아엎어지진 않은 인상이지만 외형적인 변화(UI 등)가 제법 있는 편이다. 대부분은 프로세싱 2때와 비슷하게 사용할 수 있고 프로세싱 2의 스케치북을 3로 마이그레이션하는 기능도 제공한다고 한다. 자동완성 기능과 디버거만으로도 3로 옮겨갈만한 요인은 충분할 듯.

5 안드로이드 지원에 대해

2011년 4월에 공개된 1.5버전부터는 안드로이드 프로그래밍도 지원하기 시작했다. 프로세싱으로 제작한 스케치를 JVM이 아닌 안드로이드의 Dalvik VM에서 구동할 수 있도록 컴파일해주는 기능인데, 추가로 안드로이드 SDK를 설치할 필요가 있다. 아직은 제약이 많은 편이지만 자신이 만든 프로그램이 안드로이드 폰이나 태블릿에서 돌아가는 것을 보면 나름 뿌듯하다. 몇몇 안드로이드 모드 전용 코드가 있기는 하지만 대체적으로는 표준 자바 모드에서와 거의 똑같이 코딩하면 된다.

참고로 구버전인 1.5에서는 안드로이드 모드가 존재는 하지만 사용할 수 없다.. 이런 기괴한 상황이 생긴 이유는 안드로이드 SDK가 업데이트 되면서 예전 버전의 프로세싱과 호환이 되지 않는 부분이 생겼기 때문. 1.5 버전이 처음 등장했을 당시의 SDK에선 제대로 돌아갔었다. 현행 안드로이드 SDK를 이용하는 경우 1.5~2.0a6 버전에서 안드로이드 모드가 정상동작하지 않는다. 안드로이드 모드가 필요한 경우에는 2.0을 쓰자.

참고로 1.5 당시 지원한 버전은 2.1(API 7)과 2.2(API 8)였으나 현재는 2.3.3(API 10) 및 그 이상만을 지원한다. 제작자 입장에서도 아직 사용자가 좀 있는 2.2 정도는 계속 지원하고 싶었는데 만들다보니 상황이 그리 여의치 않았던 모양. 프로요 지원 중단은 현재는 대부분의 사용자가 진저브레드 이상을 사용하기 때문에 큰 문제가 안될지 모르나, 정말 폰이 구려서 프로요에서 진저브레드로 업그레이드를 지원하지 않는다거나[13] 아이폰 등의 비 안드로이드 계열 폰을 사용하는 사람이 프로세싱으로 안드로이드 작업하려고 싼 구형 공기계 중고로 사서 에클레어나 프로요 올려서 잘 쓰다가 진저브레드 업그레이드 지원 안해서 망했어요가 됐다거나 하는 경우는 종종 있는 듯 싶다.

안드로이드 모드 사용에 필요한 조건은 다음과 같다.

  • 프로세싱 2.0a7 이상
  • 안드로이드 SDK 리비전 20 이상
  • 안드로이드 2.3.3 (진저브레드) 이상

6 안드로이드 IDE

Calsign Labs의 APDE와 Kwipi의 에디터가 올라와 있다. 그중 APDE는 컴퓨터 자체에디터와 비교하고싶을 만큼 믿을 수 없는 퀄리티를 보여준다. 줄 수가 표시되지 않는 것만 빼면 완벽함.
개발사에서 만들어놓은 예제들도 높은 퀄리티를 자랑한다. 수학물
라이브러리 사용은 물론(PC 전용은 에러가 발생)이고 이클립스로 내보내기, 심지어는 버전관리 기능까지 있다고 한다.
빌드시 바로 안드로이드 기기에 앱을 깔아 사용할 수 있다.

7 커리큘럼이 개설된 교육기관

가나다순으로 추가해주십시오.

  • 경기과학고등학교 교양과목 '정보융합설계'에서 C언어에서는 하기 힘들었던 그래픽 기반의 시뮬레이션을 통하여 수학/과학적으로 의미가 있는 것들을 Processing으로 만들어 볼 수 있다.
  • 고려대학교 교양과목 '데이터로 표현하는 세상' : 중간고사 후에 스크래치와 더불어 Processing을 다뤄볼 기회가 있다. 기본적인 기술을 쉽게 배울 수 있으니 들어볼 기회가 되는 위키러는 한 번 들어보는 것도 나쁘지 않다. 이 강좌는 iTunes U를 통해 무료 제공되니 재학생이 아니라도 들을 기회가 있다.
  • 건국대학교 정보통신대학 컴퓨터공학부에서, 1학년 과목인 '창의적 공학 설계'에서 ASIT과 함께, Processing을 병행하여 가르치고 있다. 수업의 목표는 Processing으로 게임 제작하기.
  • 건국대학교 글로컬캠퍼스 미디어커뮤니케이션대학 다이나믹미디어학과에서, 1학년 전공필수인 '상호작용예술과 피지컬컴퓨팅' 수업시간에 Processing을 배운다. 초반에는 ellipse나 rect같은 기본 도형으로 작품을 만든다.
  • 국민대학교 국민대학교 일반대학원 영상디자인학과와 조형대학 시각디자인학과에 수업과정이 개설되어있다.
  • 문지문화원 사이 : 매년 여름, 겨울에 있는 특강인 사이 아카데미에 아티스트를 위한 컴퓨터 프로그래밍 과목이 개설되고 있다. vvvv와 같은 인접 언어나 Arduino 기반의 피지컬 컴퓨팅 강의도 있으니 관심있는 이는 들어보는 것도 좋다. 학교에 적을 두지 않은 경우라면 몇 안되는 교육처라는 것이 이점.
  • 메이크 프로세싱 : 미디어 아트를 위한 공유 커뮤니티로 미디어 스페이스 문과 함께 정기적으로 워크샵을 진행하고 있으며, 프로세싱 포럼을 운영하고 있다. http://makeprocessing.com
  • 서강대학교 Art & Technology 전공의 전공필수과목인 'Intro to Creative Computing'에서 프로그래밍을 처음 배우며 다루게 된다. 또다른 전공필수과목인 'Programming Interactivity'에서도 Processing을 이용한 인터랙티브 프로그래밍을 배운다.[14]
  • 서울대학교 연합전공 정보문화학 전공필수 과목 '정보문화기술입문'에서 2012년부터 Processing을 가지고 프로그래밍 코딩의 기초를 가르치고 있다.
  • 서울시립대학교 시각디자인과 학부와 대학원에 개설되어 있다.
  • 서울예술대학 디지털아트과 프로그래밍 과정에서 1학년때 아두이노와 프로세싱을 가르친다. 응용하는 부분도 많고 직접 작품도 만들기에 아마 우리나라에서 가장 프로세싱과 아두이노등의 예술계 언어도구를 많이 쓰는 곳일듯.
  • 성균관대학교 - 영상학과 전공선택 수업이다.
  • 성신여자대학교 산업디자인과 2학년 시각미디어 수업에서 프로세싱 언어를 배운다.
  • 숭실대학교의 IT대학 미디어학부에서는 1학년 전필 수업에서 프로세싱 언어를 배울 기회가 있다. 학년이 올라가면서 아두이노와의 연동 등으로 사용을 넓혀가고 있다.
  • 경북 안동시 안동교회 문화센터. 이곳도 학교에 적을 두지 않은 몇 안되는 교육처이다. 안동대학교 컴퓨터공학과 교수인 안동교회 집사 분께서 역시 같은 학교의 대학원생이자 이 교회의 교인인 분과 함께 지도하신다.
  • 아주대학교 - 정보통신대학 미디어학과의 전공선택과목으로 Processing과 Arduino를 활용하는 과목이 생겼다.
  • 연세대학교 - 건축공학과의 2학년 필수교양으로 공학정보처리 시간에 배운다. 사실상 필수과목.
  • 연세대학교 원주캠퍼스 - 디자인ᆞ예술학부 - 디지털아트학과에서 전공수업으로 배운다.vvvv와 함께 거의 필수 과목.뱀발로 강좌 이름과 주제는 학기마다 다르지만 모 교수님 강의를 들으면 기본 툴로서 무조건 배우게 된다.(...)
  • 중앙대학교 - 융합공학부 디지털이미징 전공의 '3D영상디자인' 강의에서 Maya와 함께 배운다. 같은 학기 '피지컬컴퓨팅' 강의에서 아두이노도 배우기때문에, 특유의 UI와 굉장히 친해질 수 있다.
  • 홍익대학교 세종캠퍼스 - 디자인·영상학부 - 커뮤니케이션 디자인 학과와 디지털 미디어 디자인 학과에서 인터랙션 트랙의 전공 수업으로 프로세싱 언어를 배운다.
  • 한국예술종합학교에서는 미술원 예술사(학사과정) - '아티스트를 위한 프로그래밍','인터랙티브아트-프로그래밍' , 미술원 조형예술과 전문사(석사과정) - '그래픽스프로그래밍'등의 전공 커리큘럼을 통해 Processing, Arduino등을 배울수 있다. 미술원 조형예술과 전문사 인터랙티브아트 전공에서는 코딩과 키네틱아트에 대해 더 전문적으로 공부할 수 있다. 영상원 멀티미디어 영상과 예술사, 전문사 - 프로세싱, 아두이노, MaxMSP가 개설되어 있다 근데 영상원 수업은 고정되어있지않고 과목명이 자주 바뀌거나 툴이 바뀐다 학비가 싸다.
  • 한국과학기술원 - 산업 및 디자인 학과 -
  • 한양대학교 서울캠퍼스 - 2015년부터 정보시스템학과 1학년 전산학개론 수업에서 기초적인 Processing 과제를 내준다. 숙제하는 과정에서 수많은 Reference 문서들을 통해 Processing을 개략적으로나마 배울 수 있다. 정작 직접 가르쳐주지는 않는다. 그냥 해오라고...
  • 조선대학교 디자인공학과 - 2학년이 되면 아두이노와 함께 배운다. 물론 직접 가르쳐주지는 않는다. 유투브 보고와라
  • 경성대학교 디지털미디어학과 - 2학년이 되면 시각디자인 출신 김재명교수님에게 배울수있다. 프로세싱으로 게임이나 아이콘 등을 만든다.

8 관련 문서

  1. LISP에 바탕한 교육용 언어. '터틀'이라는 로봇으로 그림을 그리는 것으로 유명하다.
  2. Casey Reas와 Ben Fry의 MIT 미디어 연구소 시절 담당교수였다고 한다.
  3. 물론 원한다면 OOP 개념도 적용 가능하다.
  4. 능력 여하에 따라 게임 같은 것도 만들 수 있지만 애초에 그런 거 하라고 만든 언어가 아니라서 프로젝트가 커지면 커질수록 답이 안나온다.
  5. 오픈소스이고 오피셜 사이트의 튜터리얼이 충실한데다 다행히 외국에서는 나름 정보교환이 활발한 편이라 웹을 통해서 독학하기가 어렵지 않다. 단, 영어를 잘하면.
  6. 해외의 인지도도 미디어 아트 계통이 중심이기는 하다.
  7. 링크된 본문에는 프로세싱이 언급되어있지 않으나 동영상을 보면 말미에 프로세싱과 SimpleOpenNI 라이브러리를 이용했다는 언급이 있다. SimpleOpenNI는 프로세싱에서 키넥트를 제어하기 위한 라이브러리.
  8. 크로스플랫폼/오픈소스로 개발중인 멀티미디어 프레임워크. 그놈 등에서 사용한다.
  9. 기존 버전에서도 preferences.txt 파일을 직접 편집해서 설정이 가능하기는 했다.
  10. 환경설정에서 옵션을 켜야한다. 단축키는 ctrl+space.
  11. 문자가 완성되지 않으면 화면에 표시되지 않는 등 좀 문제는 있지만 입력은 일단 정상적으로 된다. 외국계 프로그램에서 한글을 입력할 때 흔하게 보이는 현상으로, 원인을 자세히 알고 싶으면 도깨비불 현상 문서를 참조.
  12. 더 적당한 번역어나 프로세싱 3의 공식 번역어가 나오면 변경 바람
  13. hTC 디자이어 처럼 이런 케이스가 꽤 있다.
  14. 원래 15학번은 'Intro to Creative Computing' 과목에서 Python을 배웠으나, 2016학년도부터 중핵필수과목인 '컴퓨팅사고력'이 신설되고, 해당 과목에서 Python을 배우기 시작하면서 현행 체제로 바뀌었다. 다만, ICC에서 Python을 배우는 것은 15학번 때 바뀐 부분이었기 때문에, 결국 16학번부터는 14학번 때의 커리큘럼으로 돌아간 샘.