Zpracování (programovací jazyk) - Processing (programming language)
Paradigma | Objektově orientovaný |
---|---|
Navrhl | Casey Reas , Ben Fry |
Poprvé se objevil | 2001 |
Stabilní uvolnění | 4.0b1 / 9. srpna 2021
|
Licence | GPL , LGPL |
Rozšíření názvu souboru | .pde |
webová stránka | zpracování |
Processing je bezplatná grafická knihovna a integrované vývojové prostředí (IDE) vytvořené pro komunity elektronického umění, umění nových médií a vizuálního designu s cílem naučit neprogramátory základy počítačového programování ve vizuálním kontextu.
Processing používá jazyk Java , s dalšími zjednodušeními, jako jsou další třídy a aliasy matematické funkce a operace. Poskytuje také grafické uživatelské rozhraní pro zjednodušení fáze kompilace a provádění.
Processing language a IDE byly předchůdcem dalších projektů, včetně Arduino , Wiring a p5.js.
Dějiny
Projekt zahájili v roce 2001 Casey Reas a Ben Fry , oba dříve ze skupiny pro estetiku a výpočet v MIT Media Lab . V roce 2012 založili nadaci Processing Foundation spolu s Danielem Shiffmanem , který se připojil jako třetí vedoucí projektu. Johanna Hedva se k nadaci připojila v roce 2014 jako ředitelka advokacie.
Původně měla Processing adresu URL proce55ing.net, protože byla odebrána doména zpracování . Nakonec Reas a Fry získali doménu processing.org. Název měl sice kombinaci písmen a číslic, ale i tak se jednalo o výrazné zpracování . Nepreferují prostředí označované jako Proce55ing . Navzdory změně názvu domény Processing stále používá termín p5 někdy jako zkrácený název ( používá se konkrétně p5 , nikoli p55 ), například p5.js je odkaz na to.
V roce 2012 byla založena Nadace pro zpracování a získala status 501 (c) (3) neziskové organizace, která podporuje komunitu v souvislosti s nástroji a nápady, které začaly zpracováním projektu. Nadace vybízí lidi z celého světa, aby se každoročně scházeli na místních akcích s názvem Processing Community Day .
Funkce
Stabilní uvolnění | 3.5.4 / 17. ledna 2020
|
---|---|
Úložiště | |
Napsáno | Java , GLSL , JavaScript |
Operační systém | Cross-platform |
Typ | Integrované vývojové prostředí |
webová stránka | zpracování |
Zpracování obsahuje skicář , minimální alternativu k integrovanému vývojovému prostředí (IDE) pro organizaci projektů.
Každá skica Processing je ve skutečnosti podtřídou třídy PApplet
Java (dříve podtřída integrovaného apletu Java), která implementuje většinu funkcí procesního jazyka.
Při programování ve Processingu budou všechny další definované třídy považovány za vnitřní třídy, když bude kód před kompilací přeložen do čisté Javy. To znamená, že používání statických proměnných a metod ve třídách je zakázáno, pokud není zpracování výslovně řečeno, aby kódovalo v čistém režimu Java.
Processing také umožňuje uživatelům vytvářet vlastní třídy v náčrtu PApplet. To umožňuje komplexní datové typy, které mohou obsahovat libovolný počet argumentů, a vyhýbá se omezením pouze při použití standardních datových typů, jako jsou: int (celé číslo), char (znak), float (skutečné číslo) a barva (RGB, RGBA , hex ).
Příklady
Nejjednodušší možná verze programu „Hello World“ ve zpracování je:
// This prints "Hello World." to the IDE console.
println("Hello World.");
Vzhledem k vizuálně orientovanější povaze zpracování je však následující kód lepším příkladem vzhledu a chování jazyka.
// Hello mouse.
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}
Ocenění
V roce 2005 Reas a Fry získali ocenění Golden Nica od Ars Electronica v kategorii Net Vision za práci na zpracování.
Ben Fry získal v roce 2011 Národní cenu za design udělenou Národním muzeem designu Smithsonian Cooper-Hewitt v kategorii Interakční design. Prohlášení o ocenění říká:
„Ben Fry, který vychází z pozadí grafického designu a počítačové vědy, sleduje dlouhodobou fascinaci vizualizací dat. Jako ředitel Fathom Information Design v Bostonu Fry vyvíjí software, tiskoviny, instalace a knihy, které zobrazují a vysvětlují témata z lidský genom k platu baseballu za vývoj textových dokumentů. S Casey Reasem založil Processing Project, open-source programovací prostředí pro výuku počítačového designu a skicování softwaru interaktivních médií. Poskytuje umělcům a designérům přístupné pracovní prostředky s kódem a zároveň povzbuzuje inženýry a počítačové vědce, aby přemýšleli o konceptech designu. “
Licence
Základní knihovny Processingu, kód obsažený v exportovaných aplikacích a apletech, jsou licencovány pod licencí GNU Lesser General Public License , která uživatelům umožňuje uvolnit svůj původní kód s volbou licence.
IDE je licencován pod obecnou veřejnou licencí GNU .
Související projekty
Zpracování není jediný jazyk, ale spíše umělecky orientovaný přístup k učení, výuce a vytváření věcí pomocí kódu. Existuje několik variant a souvisejících projektů:
Design podle čísel
Zpracování bylo založeno na původní práci provedené na projektu Design By Numbers na MIT. Sdílí mnoho stejných myšlenek a je přímým potomkem tohoto experimentu.
Processing.js
V roce 2008 přenesl John Resig Processing do JavaScriptu pomocí prvku Canvas pro vykreslování, což umožnilo použití Processing v moderních webových prohlížečích bez potřeby pluginu Java. Od té doby projekt převzali lidé se svobodným softwarem včetně studentů na Seneca College v Torontu.
Processing.js se také používá k obhajování velmi základního programování pro studenty všech věkových kategorií na Khan Academy vytvářením kreseb a animací. Žáci předvedou své výtvory ostatním studentům.
p5.js
V roce 2013 vytvořila Lauren McCarthy p5.js, nativní alternativu JavaScriptu k Processing.js, která má oficiální podporu Processing Foundation.
P5Py
p5 je knihovna Pythonu, která poskytuje funkce kreslení na vysoké úrovni, které vám pomohou rychle vytvářet simulace a interaktivní umění pomocí Pythonu. Kombinuje základní myšlenky Processingu - učení se kódu ve vizuálním kontextu - s čitelností Pythonu, aby bylo programování přístupnější začátečníkům, pedagogům a umělcům.
Processing.py
Režim Python pro zpracování nebo Processing.py je rozhraní Pythonu k základní sadě nástrojů Java. Byl vyvinut hlavně Jonathanem Feinbergem od roku 2010 za přispění Jamese Gillese a Bena Alkova.
Elektroinstalace, Arduino a Fritzing
Processing vytvořil další projekt, Wiring , který používá Processing IDE se sbírkou knihoven napsaných v jazyce C ++ jako způsob, jak naučit umělce programovat mikrokontroléry . Nyní existují dva samostatné hardwarové projekty, Wiring a Arduino , využívající prostředí a jazyk Wiring. Fritzing je další softwarové prostředí stejného druhu, které pomáhá designérům a umělcům dokumentovat jejich interaktivní prototypy a udělat krok od fyzického prototypování ke skutečnému produktu.
Mobilní zpracování
Dalším odštěpeným projektem, který je nyní již zaniklý, je Mobile Processing od Francis Li, který umožňoval spuštění softwaru napsaného pomocí jazyka a prostředí Processing na mobilních zařízeních poháněných jazykem Java. Dnes některé stejné funkce poskytuje samotné zpracování.
iZpracování
iProcessing byl vytvořen tak, aby pomáhal lidem vyvíjet nativní aplikace pro iPhone pomocí jazyka Processing. Jedná se o integraci knihovny Processing.js a aplikačního rámce Javascript pro iPhone.
Spde
Spde (Scala Processing Development Environment) nahrazuje sníženou syntaxi Javy Java a vlastní preprocesor běžným programovacím jazykem Scala, který také běží na platformě Java a vynucuje některá stejná omezení, jako je zákaz statických metod, a zároveň umožňuje stručnější kód a podpora funkčního programování .
JRubyArt
JRubyArt (dříve s názvem ruby-processing ) je obálka pro zpracování v jazyce Ruby , která běží na platformě Java pomocí JRuby.
Quil
Quil je interaktivní knihovna animací pro Clojure a ClojureScript založená na zpracování.
Média
Hudební video pro House of Cards od Radiohead bylo vytvořeno pomocí Processing kombinovaného s daty z technologie lidar , spolu s použitím akrylového skla a zrcadel k vytváření scén, ve kterých se obraz jeví zkreslený, částečně zmizí nebo se rozpadne, jako by ho nesl vítr. Zpracování bylo také použito k vytváření ilustrací pro publikace jako Nature a New York Times , k produkci soch pro výstavy galerií, k ovládání obrovských video stěn a pletení svetrů.
Viz také
- Cinder (C ++)
- OpenFrameworks (C ++)
- JavaFX
- Max (software)
- Codea
Poznámky pod čarou
Reference
- Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (22. srpna 2012), Generative Design: Visualize, Programme and Create with Processing (1. vyd.), Princeton Architectural Press , str. 472, ISBN 978-1616890773
- Glassner, Andrew (9. srpna 2010), Processing for Visual Artists: How to Create Expressive Images and Interactive Art (1st ed.), AK Peters/CRC Press, s. 955, ISBN 978-1-56881-716-3, archivováno od originálu 21. dubna 2011
- Reas, Casey; Fry, Ben (17. června 2010), Začínáme se zpracováním (1. vydání), Make, s. 208, ISBN 978-1-4493-7980-3
- Noble, Joshua (21. července 2009), Interactivity Programming: A Designer's Guide to Processing, Arduino, and Openframeworks (1st ed.), O'Reilly Media , p. 736, ISBN 978-0-596-15414-1
- Terzidis, Kostas (11. května 2009), Algoritmy pro vizuální design pomocí zpracovatelského jazyka (1. vydání), Wiley , s. 384, ISBN 978-0-470-37548-8
- Reas, Casey; Fry, Ben; Maeda, John (30. září 2007), Processing: A Programming Handbook for Visual Designers and Artists (1st ed.), The MIT Press, p. 736, ISBN 978-0-262-18262-1, archivováno z originálu 17. dubna 2011
- Fry, Ben (11. ledna 2008), Visualizing Data (1. vydání), O'Reilly Media , s. 382, ISBN 978-0-596-51455-6
- Greenberg, Ira (28. května 2007), Processing: Creative Coding and Computational Art (Foundation) (1st ed.), Friends of ED, p. 840, ISBN 978-1-59059-617-3, archivováno z originálu 27. ledna 2011
- Shiffman, Daniel (19. srpna 2008), Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (1st ed.), Morgan Kaufmann, p. 450, ISBN 978-0-12-373602-4
- Faludi, Robert (4. ledna 2011), Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing (1st ed.), O'Reilly Media , p. 320, ISBN 978-0-596-80774-0, archivováno z originálu 12. června 2019 , vyvoláno 18. května 2011
- Vantomme, Jan (20. září 2012), Processing 2, Creative Programming Cookbook (1st ed.), Packt Publishing , p. 291, ISBN 9781849517942, archivováno z originálu 2. července 2014 , vyvoláno 25. února 2013
- Pearson, Matt (1. června 2011), Generativní umění, Praktický průvodce využívající zpracování (1. vydání), Manning, s. 240, ISBN 9781935182627, archivováno z originálu 24. června 2019 , vyvoláno 25. února 2013
- Jan, Vantomme (20. září 2012), Processing 2: Creative Programming Cookbook (1. vydání), Packt Publishing , s. 306, ISBN 978-1849517942, archivováno z originálu 2. července 2014 , vyvoláno 25. února 2013
- Sauter, Daniel (2. května 2013), Rapid Android Development: Build Rich, Sensor-Based Applications with Processing (1st ed.), Pragmatic Bookshelf, p. 300, ISBN 978-1937785062, archivováno z originálu 13. října 2019 , vyvoláno 18. července 2013
- Gradwohl, Nikolaus (20. května 2013), Processing 2: Creative Coding Hotshot (1. vyd.), Packt Publishing , s. 266, ISBN 978-1782166726, archivováno z originálu 2. července 2014 , vyvoláno 18. července 2013