Processing

Processing
Faililaiend .pde
Paradigma objektorienteeritud
Looja Casey Reas, Ben Fry
Arendaja Processing Foundation
Viimane väljalase 4.3 (26.07.2023) Muuda Vikiandmetes
Litsents GPL, LGPL
Veebileht processing.org

Processing on programmeerimiskeel ja tarkvarateek, mis on loodud lihtsaks piltide genereerimiseks ja muutmiseks. Selle fookus on interaktiivse meedia ja kunstiteoste loomisel, pakkudes erinevaid klasse ja funktsioone mugavaks visuaalseks programmeerimiseks[1].

Processing põhineb Java programmeerimiskeelel.

Projekti alustasid 2001. aastal Casey Reas ja Ben Fry MIT Media Labi Esteetika ja Arvutuste Grupist. Aastal 2012 projektiga liitus Daniel Shiffman ning asutati Processing Foundation. Johanna Hedva liitus projektiga 2014. aastal.[2]

Processing loodi eesmärgiga õpetada programmeerimist algajatele, kuid samas pidi see olema piisavalt võimas ka edasijõudnud kasutajatele.

2023. aastal teatas Ben Fry, et tema astub Processing Foundationist tagasi[3].

Funktsioonid

[muuda | muuda lähteteksti]

Processing koosneb klassidest ja funktsioonidest, mis on kirjutatud Java programmeerimiskeele põhjal. Funktsioonide abil saab lihtsasti joonistada ekraanile kujundid, seadistada värvid, animatsioonid, loogika ja muu. Lisaks teegis leidub lihtsustatud matemaatilisi ja geomeetrilisi funktsioone.[1]

Kujutatud on Processing IDE 4.0b1 versiooni ekraanitõmmis. Avatud on näidisprogramm ja selle kood on nähtav.
Processing 4.0b1 IDE ekraanitõmmis.

Processing sisaldab lihtsustatud versiooni integreeritud programmeerimiskeskkonnast (IDE), mida nimetatakse Sketchbookiks. Kasutades sketchbooki, saavad algajad kasutajad õppida programmeerimist tänu kasutajaliidesele, mis võimaldab kergesti kompileerida ja käitada loodud programmi ühe nupuga. Iga programmi lähtekoodi nimetatakse sketchiks, mis võib koosneda ka mitmest klassist, kuna iga sketch on Java PApplet klassi alamklass.

Processingul on kaks erilist funktsiooni lihtsaks joonistamiseks ekraanile: setup() ja draw(). Esimene funktsioon käitab koodi ühe korra, ning seda saab kasutada muutujate ja objektide initsialiseerimiseks. Teine funktsioon käitab seesoleva koodi iga kaader ehk 60 korda sekundis. Tänu sellele on visuaalne programmeerimine eriti lihtne ja sujuv.[4]

Allolev koodi näide võimaldab luua akna halli taustaga, milles on arvutikursori asukoha peale joonistatud roheline ring.

void setup() {
  size(640, 480);                // Loo aken suurusega 640x480px
  fill(0, 255, 0);               // Määra kujundite värv roheliseks
}

void draw() {
  background(200);               // Värvi taust halliks
  circle(mouseX, mouseY, 100);   // Joonista ring läbimõõduga 100px kursori kohal 
}

Processingu raamistik ja kood on litsentseeritud GNU Lesser General Public License all, mis annab kasutajatele vabadust integreerida enda loodud sketchid teiste projektidega (ka erinevate litsentsidega).[5]

Processingu Sketchbook (IDE) on aga litsentseeritud GNU General Public License'i all.

Seotud projektid

[muuda | muuda lähteteksti]

Processingu kasutamine kujunes ajas nii, et see ei ole üks programmeerimiskeel, vaid kunstile suunatud lähenemine programmeerimise õppimisel ja õpetamisel. Seoses sellega esineb erinevates programmeerimiskeelte teekides erinevusi funktsioonide nimetustes ja kasutuses.

Lauren Lee McCarthy on 2013. aastal loonud teeki p5.js, mis baseerub programmeerimiskeele JavaScript põhjal.[6] Selle abil saab kasutaja tutvuda loomingulise programmeerimise võimalustega JavaScriptis.[7] p5.js sisaldab enamik funktsioone ja klasse, mis ka Processing, ning seda on võimalik proovida otse brauseris veebitoimetaja abil[8].

p5.js jaoks on loodud ka eraldi raamistik ml5.js, mis võimaldab kasutada masinõppe algoritme ja mudeleid kunsti loomiseks[9].

Processing.py

[muuda | muuda lähteteksti]

2010. aastal oli Jonathan Feinbergi loodud Processingu implementatsioon Pythonis. Projektiga liitusid hiljem James Gilles, Ben Alkov[10]. Ühilduvus Processing 3.x versiooniga oli loodud Luca Damasco abiga.

Processingu implementatsioone on muudeski keeltes, näiteks Spde raamistik Scala jaoks, JRubyArt Ruby jaoks, Quil Clojure jaoks ja muud.

Processingut on kasutanud mitmed visuaaldisainerid ja -kunstnikud. Selle keelega on loodud palju teoseid ja illustratsioone, mis olid esitletud näitustel ja väljaannetes, nagu Nature ja The New York Times.[11]

Processingu abil on loodud ka muusikavideoid[12] ja muud video-projektid.

Processingu kohta on saadaval rohkesti õppevideoid, näiteks Daniel Shiffmani YouTube'i kanalil[13].

  1. 1,0 1,1 Reas, Casey; Fry, Ben (2007). Processing: a programming handbook for visual designers and artists. Cambridge, Mass.: MIT Press. ISBN 978-0-262-18262-1.
  2. "People". Processing (Ameerika inglise). Vaadatud 24. detsembril 2023.
  3. @ben_fry (4. oktoober 2023). "I have made the extremely difficult decision to resign from the Processing Foundation. I am absolutely heartbroken, and have not slept well for months" (Tweet) – cit. via Twitter.
  4. Reas, Casey; Fry, Ben (2010). Getting started with Processing: a hands-on introduction to making interactive graphics. Make: projects (1. ed trükk). Beijing Köln: O'Reilly. ISBN 978-1-4493-7980-3.
  5. "processing/license.txt at master · processing/processing". GitHub (inglise). Vaadatud 4. jaanuaril 2024.
  6. "p5.js — Lauren Lee McCarthy". lauren-mccarthy.com (inglise). Vaadatud 2. jaanuaril 2024.
  7. "home | p5.js". p5js.org. Vaadatud 2. jaanuaril 2024.
  8. "p5.js Web Editor". editor.p5js.org. Vaadatud 2. jaanuaril 2024.
  9. "ml5js·Friendly Machine Learning For The Web". ml5js.org (inglise). Vaadatud 5. jaanuaril 2024.
  10. "Python Mode for Processing". py.processing.org. Vaadatud 4. jaanuaril 2024.
  11. "Overview". Processing (Ameerika inglise). Vaadatud 24. detsembril 2023.
  12. The Making-of "House of Cards" video, vaadatud 26. detsembril 2023
  13. "The Coding Train - YouTube". www.youtube.com. Vaadatud 26. detsembril 2023.

Välislingid

[muuda | muuda lähteteksti]