Feldolgozás (programozási nyelv) - Processing (programming language)
| Paradigma | Objektum orientált |
|---|---|
| Tervezte | Casey Reas , Ben Fry |
| Először jelent meg | 2001 |
| Stabil kiadás | 4.0b1 / 2021. augusztus 9
|
| Engedély | GPL , LGPL |
| Fájlnévkiterjesztések | .pde |
| Weboldal | feldolgozása |
A Processing egy ingyenes grafikus könyvtár és integrált fejlesztői környezet (IDE), amely az elektronikus művészetek, az új média művészete és a vizuális tervező közösségek számára készült, azzal a céllal , hogy vizuális kontextusban megtanítsa a nem programozóknak a számítógépes programozás alapjait .
A feldolgozás a Java nyelvet használja , további egyszerűsítésekkel, például további osztályokkal és alias matematikai függvényekkel és műveletekkel. Ezenkívül grafikus felhasználói felületet biztosít a fordítási és végrehajtási szakasz egyszerűsítéséhez.
A feldolgozási nyelv és az IDE más projektek előfutára volt, beleértve az Arduino , a Wiring és a p5.js.
Történelem
A projektet 2001 -ben Casey Reas és Ben Fry kezdeményezte , akik korábban az MIT Media Lab Esztétikai és Számítási Csoportjának tagjai voltak . 2012 -ben Daniel Shiffmannel együtt elindították a Processing Foundation -t, aki harmadik projektvezetőként csatlakozott. Johanna Hedva 2014 -ben csatlakozott az Alapítványhoz, mint érdekvédelmi igazgató.
Eredetileg a Processing URL -je a proce55ing.net volt, mivel a feldolgozási tartományt vették fel. Végül Reas és Fry megszerezték a feldolgozás.org domaint. Bár a név betűkből és számokból állt, még mindig kimondottan feldolgozott volt . Nem szeretik, ha a környezet Proce55ing néven szerepel . A tartománynév megváltoztatása ellenére a Processing néha még mindig a p5 kifejezést használja rövidített névként ( kifejezetten a p5 -öt használják, nem a p55 -öt), például a p5.js erre utal.
2012 -ben létrehozták a Feldolgozó Alapítványt, amely 501 (c) (3) nonprofit státuszt kapott, támogatva a közösséget a Feldolgozási Projektben elindított eszközök és ötletek körül. Az alapítvány arra ösztönzi az embereket szerte a világon, hogy évente találkozzanak a Feldolgozó Közösség Napja elnevezésű helyi rendezvényeken .
Jellemzők
|
Képernyőkép a Processing integrált fejlesztői környezetéről.
| |
| Stabil kiadás | 3.5.4 / 2020. január 17
|
|---|---|
| Adattár | |
| Beírták | Java , GLSL , JavaScript |
| Operációs rendszer | Többplatformos |
| típus | Integrált fejlesztői környezet |
| Weboldal | feldolgozása |
A feldolgozás tartalmaz egy vázlatfüzetet , amely minimális alternatívája a projektek szervezésére szolgáló integrált fejlesztői környezetnek (IDE).
Minden feldolgozási vázlat valójában a PApplet Java osztály alosztálya (korábban a Java beépített kisalkalmazásának alosztálya), amely megvalósítja a feldolgozó nyelv legtöbb funkcióját.
A Processing programozásakor minden további definiált osztály belső osztályként lesz kezelve, amikor a kódot fordítás előtt lefordítják tiszta Java -ra. Ez azt jelenti, hogy a statikus változók és módszerek használata az osztályokban tilos, kivéve, ha a feldolgozást kifejezetten kódolják tiszta Java módban.
A feldolgozás lehetővé teszi a felhasználók számára, hogy saját osztályokat hozzanak létre a PApplet vázlaton belül. Ez lehetővé teszi olyan összetett adattípusok használatát , amelyek tetszőleges számú argumentumot tartalmazhatnak, és elkerüli a korlátozásokat, ha kizárólag szabványos adattípusokat használnak, például: int (egész szám), char (karakter), float (valós szám) és szín (RGB, RGBA , hex ).
Példák
A feldolgozás során a "Hello World" program legegyszerűbb változata:
// This prints "Hello World." to the IDE console.
println("Hello World.");
A feldolgozás vizuálisan orientáltabb jellege miatt azonban az alábbi kód jobban példázza a nyelv megjelenését.
// Hello mouse.
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}
Díjak
2005 -ben Reas és Fry elnyerték az Ars Electronica Golden Nica díját a Net Vision kategóriában a feldolgozással kapcsolatos munkájukért.
Ben Fry elnyerte a 2011-es Nemzeti Tervezési Díjat, amelyet a Smithsonian Cooper-Hewitt Nemzeti Design Múzeum adott át az Interaction Design kategóriában. Az elismerő nyilatkozat így szól:
"A grafikai tervezés és a számítástechnika hátterére támaszkodva Ben Fry régóta rajong az adatok megjelenítéséért. A bostoni Fathom Information Design igazgatójaként Fry olyan szoftvereket, nyomtatott munkákat, installációkat és könyveket fejleszt, amelyek témákat ábrázolnak és magyaráznak. az emberi genomot a baseball fizetésekhez, a szövegdokumentumok fejlődéséhez. Casey Reasszal megalapította a Processing Project programot, amely egy nyílt forráskódú programozási környezet a számítástechnikai tervezés oktatásához és az interaktív médiaszoftverek vázlatához. A művészek és tervezők számára hozzáférhető eszközöket biztosít a munkához kóddal, miközben arra ösztönzi a mérnököket és informatikusokat, hogy gondolkozzanak a tervezési koncepciókon. "
Engedély
A Processing alapvető könyvtárai, az exportált alkalmazásokban és kisalkalmazásokban található kódok, a GNU Lesser General Public License alapján vannak licencelve , lehetővé téve a felhasználók számára, hogy licencválasztással kiadhassák eredeti kódjukat.
Az IDE a GNU General Public License alapján van engedélyezve .
Kapcsolódó projektek
A feldolgozás nem egyetlen nyelv, hanem művészet-orientált megközelítés a tanuláshoz, a tanításhoz és a dolgok kóddal való elkészítéséhez. Számos változat és kapcsolódó projekt létezik:
Tervezés számokkal
A feldolgozás az MIT Design By Numbers projektjén végzett eredeti munkán alapult . Sok hasonló ötletet oszt, és ennek a kísérletnek a közvetlen gyermeke.
Processing.js
2008 -ban John Resig a feldolgozást JavaScript -re továbbította a Canvas elem használatával a rendereléshez, lehetővé téve a Processing használatát a modern webböngészőkben, Java bővítmény nélkül. Azóta a szabad szoftverek , köztük a torontói Seneca College hallgatói vették át a projektet.
A Processing.js arra is szolgál, hogy az alapvető programozást a Khan Academy minden korosztályának hallgatói számára népszerűsítse rajzok és animációk készítésével. A tanulók bemutatják alkotásaikat más tanulóknak.
p5.js
2013 -ban Lauren McCarthy megalkotta a p5.js -t, a Processing.js natív JavaScript -alternatíváját, amelyet a Processing Foundation hivatalosan támogat.
P5Py
A p5 egy Python -könyvtár, amely magas szintű rajzolási funkciókat kínál, hogy segítsen gyorsan létrehozni szimulációkat és interaktív művészetet a Python használatával. Egyesíti a Processing alapötleteit - a vizuális kontextusban történő kódolás tanulását - a Python olvashatóságával, hogy a programozást hozzáférhetőbbé tegye a kezdők, oktatók és művészek számára.
Feldolgozás.py
A Python Mode for Processing vagy a Processing.py egy Python felület az alapul szolgáló Java eszköztárhoz. Főként Jonathan Feinberg fejlesztette ki 2010 -től, James Gilles és Ben Alkov közreműködésével.
Wiring, Arduino és Fritzing
A Processing újabb projektet hozott létre, a Wiring -et, amely a Processing IDE -t használja a C ++ nyelven írt könyvtárak gyűjteményével, hogy megtanítsa a művészeket a mikrokontrollerek programozására . Most két különálló hardverprojekt létezik, a Wiring és az Arduino , amelyek a Wiring környezetet és a nyelvet használják. A Fritzing egy másik hasonló szoftverkörnyezet, amely segíti a tervezőket és a művészeket az interaktív prototípusok dokumentálásában, és lépést tesz a fizikai prototípus elkészítésétől a tényleges termékig.
Mobil feldolgozás
Egy másik spin-off projekt, amely mára megszűnt, a Francis Li Mobile Processing, amely lehetővé tette, hogy a Processing nyelvén és környezetében írt szoftverek Java-alapú mobileszközökön fussanak. Ma ugyanazokat a funkciókat nyújtja maga a Processing.
iProcessing
Az iProcessing célja az volt, hogy segítsen az embereknek natív iPhone -alkalmazásokat fejleszteni a feldolgozási nyelv használatával. Ez a Processing.js könyvtár és az iPhone Javascript alkalmazáskeretének integrációja.
Spde
Az Spde (Scala Processing Development Environment) a Processing csökkentett Java szintaxisát és egyéni előfeldolgozóját a Scala programozási nyelvével helyettesíti, amely szintén a Java platformon fut, és ugyanazokat a korlátozásokat hajtja végre, mint például a statikus módszerek tiltása, ugyanakkor tömörebb kódot, és támogatja a funkcionális programozást .
JRubyArt
A JRubyArt (korábbi nevén rubin-processing ) egy csomagolás a Ruby nyelvű feldolgozáshoz , amely Java platformon fut a JRuby használatával.
Quil
A Quil egy interaktív animációs könyvtár a Clojure és a ClojureScript számára, feldolgozás alapján.
Média
A Radiohead House of Cards című videoklipjét a Processing, a lidar technológia adataival kombinálva készítették , valamint akrilüveg és tükrök segítségével olyan jeleneteket hoztak létre, amelyekben a kép torz, részben eltűnik vagy szétesik, mintha szél hordozná. A feldolgozással illusztrációkat is készítettek olyan kiadványokhoz, mint a Nature és a New York Times , szobrokat adtak ki a galériák kiállításaihoz, hatalmas videófalakat ellenőriztek és pulóvereket kötöttek.
Lásd még
- Cinder (C ++)
- OpenFrameworks (C ++)
- JavaFX
- Max (szoftver)
- Codea
Lábjegyzetek
Hivatkozások
- Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (2012. augusztus 22.), Generative Design: Visualize, Programme, and Create with Processing (1. kiadás), Princeton Architectural Press , p. 472, ISBN 978-1616890773
- Glassner, Andrew (2010. augusztus 9.), Processing for vizuális művészek: How to Create Expressive Images and Interactive Art (1. kiadás), AK Peters/CRC Press, p. 955, ISBN 978-1-56881-716-3, archiválva az eredetiből 2011. április 21 -én
- Reas, Casey; Fry, Ben (2010. június 17.), Első lépések a feldolgozással (1. kiadás), Make, p. 208, ISBN 978-1-4493-7980-3
- Noble, Joshua (2009. július 21.), Programming Interactivity: A Designer's Guide to Processing, Arduino, and Openframeworks (1. kiadás), O'Reilly Media , p. 736, ISBN 978-0-596-15414-1
- Terzidis, Kostas (2009. május 11.), Algoritmusok a vizuális tervezéshez a feldolgozási nyelv használatával (1. kiadás), Wiley , p. 384, ISBN 978-0-470-37548-8
- Reas, Casey; Fry, Ben; Maeda, John (2007. szeptember 30.), Processing: A Programming Handbook for Visual Designers and Artists (1. kiadás), The MIT Press, p. 736, ISBN 978-0-262-18262-1, archiválva az eredetiből 2011. április 17 -én
- Fry, Ben (2008. január 11.), Visualizing Data (1. kiadás), O'Reilly Media , p. 382, ISBN 978-0-596-51455-6
- Greenberg, Ira (2007. május 28.), Processing: Creative Coding and Computational Art (Foundation) (1. kiadás), ED barátai, p. 840, ISBN 978-1-59059-617-3, archiválva az eredetiből 2011. január 27 -én
- Shiffman, Daniel (2008. augusztus 19.), Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (1. kiadás), Morgan Kaufmann, p. 450, ISBN 978-0-12-373602-4
- Faludi, Robert (2011. január 4.), Vezeték nélküli érzékelőhálózatok építése: ZigBee, XBee, Arduino és Processing segítségével (1. kiadás), O'Reilly Media , p. 320, ISBN 978-0-596-80774-0, archiválva az eredetiből 2019. június 12 -én , letöltve : 2011. május 18
- Vantomme, Jan (2012. szeptember 20.), Processing 2, Creative Programming Cookbook (1. kiadás), Packt Publishing , p. 291, ISBN 9781849517942, archiválva az eredetiből 2014. július 2 -án , letöltve : 2013. február 25
- Pearson, Matt (2011. június 1.), Generative Art, A gyakorlati útmutató a feldolgozás használatával (1. kiadás), Manning, p. 240, ISBN 9781935182627, archiválva az eredetiből 2019. június 24 -én , letöltve : 2013. február 25
- Jan, Vantomme (2012. szeptember 20.), Processing 2: Creative Programming Cookbook (1. kiadás), Packt Publishing , p. 306, ISBN 978-1849517942, archiválva az eredetiből 2014. július 2 -án , letöltve : 2013. február 25
- Sauter, Daniel (2013. május 2.), Rapid Android Development: Build Rich, Sensor-Based Applications with Processing (1. kiadás), Pragmatic Bookshelf, p. 300, ISBN 978-1937785062, archiválva az eredetiből 2019. október 13 -án , letöltve : 2013. július 18
- Gradwohl, Nikolaus (2013. május 20.), Processing 2: Creative Coding Hotshot (1. kiadás), Packt Publishing , p. 266, ISBN 978-1782166726, archiválva az eredetiből 2014. július 2 -án , letöltve : 2013. július 18