Procesare (limbaj de programare) - Processing (programming language)
Paradigmă | Orientat pe obiecte |
---|---|
Proiectat de | Casey Reas , Ben Fry |
A apărut prima dată | 2001 |
Versiune stabila | 4.0b1 / 9 august 2021
|
Licență | GPL , LGPL |
Extensii de nume de fișier | .pde |
Site-ul web | prelucrare |
Prelucrarea este o bibliotecă grafică gratuită și un mediu de dezvoltare integrat (IDE) construit pentru comunitățile de artă electronică, artă new media și design vizual, cu scopul de a învăța neprogramatorii fundamentele programării computerizate într-un context vizual.
Prelucrarea utilizează limbajul Java , cu simplificări suplimentare, cum ar fi clase suplimentare și funcții și operații matematice aliasate. De asemenea, oferă o interfață grafică pentru utilizator pentru simplificarea etapei de compilare și execuție.
Limbajul de procesare și IDE au fost precursorul altor proiecte, inclusiv Arduino , Wiring și p5.js.
Istorie
Proiectul a fost inițiat în 2001 de Casey Reas și Ben Fry , ambii din cadrul Grupului de Estetică și Calcul la MIT Media Lab . În 2012, au început Fundația de procesare împreună cu Daniel Shiffman , care s-a alăturat ca al treilea conducător de proiect. Johanna Hedva s-a alăturat Fundației în 2014 în calitate de Director Advocacy.
Inițial, Procesarea avea adresa URL proce55ing.net, deoarece domeniul de procesare a fost preluat. În cele din urmă, Reas și Fry au achiziționat domeniul processing.org. Deși numele avea o combinație de litere și cifre, acesta a fost totuși pronunțat de prelucrare . Ei nu preferă ca mediul să fie denumit Proce55ing . În ciuda schimbării numelui de domeniu, Procesarea folosește în continuare termenul p5 uneori ca nume scurtat ( p5 este folosit în mod specific, nu p55 ), de exemplu p5.js este o referință la asta.
În 2012, Fundația de procesare a fost înființată și a primit 501 (c) (3) statut nonprofit, sprijinind comunitatea în jurul instrumentelor și ideilor care au început cu proiectul de procesare. Fundația încurajează oamenii din întreaga lume să se întâlnească anual în cadrul evenimentelor locale numite Procesarea Zilei Comunității .
Caracteristici
Versiune stabila | 3.5.4 / 17 ianuarie 2020
|
---|---|
Repertoriu | |
Scris in | Java , GLSL , JavaScript |
Sistem de operare | Cross-platform |
Tip | Mediu de dezvoltare integrat |
Site-ul web | prelucrare |
Prelucrarea include un caiet de schițe , o alternativă minimă la un mediu de dezvoltare integrat (IDE) pentru organizarea proiectelor.
Fiecare schiță de procesare este de fapt o subclasă a PApplet
clasei Java (anterior o subclasă a appletului încorporat Java) care implementează majoritatea caracteristicilor limbajului de procesare.
La programarea în Procesare, toate clasele suplimentare definite vor fi tratate ca clase interioare atunci când codul este tradus în Java pur înainte de compilare. Aceasta înseamnă că utilizarea variabilelor statice și a metodelor în clase este interzisă, cu excepția cazului în care Procesării i se spune explicit codul în modul Java pur.
Prelucrarea permite, de asemenea, utilizatorilor să își creeze propriile clase în schița PApplet. Acest lucru permite tipuri de date complexe care pot include orice număr de argumente și evită limitările utilizării exclusiv a tipurilor de date standard, cum ar fi: int (întreg), char (caracter), float (număr real) și culoare (RGB, RGBA , hex ).
Exemple
Cea mai simplă versiune posibilă a unui program „Hello World” în Procesare este:
// This prints "Hello World." to the IDE console.
println("Hello World.");
Cu toate acestea, datorită naturii mai vizuale a procesării, următorul cod este un exemplu mai bun al aspectului limbii.
// Hello mouse.
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}
Premii
În 2005, Reas și Fry au câștigat premiul Golden Nica de la Ars Electronica la categoria Net Vision pentru munca lor pe Processing.
Ben Fry a câștigat Premiul Național de Design 2011 acordat de Muzeul Național de Design Smithsonian Cooper-Hewitt la categoria Interacțiune Design. Declarația de atribuire spune:
„Bazându-se pe un fundal în design grafic și informatică, Ben Fry urmărește o fascinație îndelungată cu vizualizarea datelor. În calitate de director al Fathom Information Design din Boston, Fry dezvoltă software, lucrări tipărite, instalații și cărți care descriu și explică subiecte din genomul uman pentru salariile de baseball la evoluția documentelor text. Cu Casey Reas, el a fondat Processing Project, un mediu de programare open-source pentru predarea proiectării computaționale și schițarea software-ului interactiv media. Oferă artiștilor și designerilor mijloace accesibile de lucru cu cod, în timp ce îi încurajează pe ingineri și informaticieni să se gândească la concepte de proiectare. "
Licență
Bibliotecile de bază ale procesării, codul inclus în aplicațiile și applet-urile exportate, este licențiată sub licența publică generală GNU Lesser , permițând utilizatorilor să elibereze codul original cu o alegere de licență.
IDE este licențiat sub licența publică generală GNU .
Proiecte asociate
Prelucrarea nu este o singură limbă, ci mai degrabă o abordare orientată spre artă a învățării, predării și realizării lucrurilor cu cod. Există mai multe variante și proiecte conexe:
Proiectare după numere
Prelucrarea s-a bazat pe munca originală realizată la proiectul Design By Numbers de la MIT. Împărtășește multe dintre aceleași idei și este un copil direct al acelui experiment.
Processing.js
În 2008, John Resig a portat Procesarea în JavaScript folosind elementul Canvas pentru redare, permițând Procesarea să fie utilizată în browserele web moderne fără a fi nevoie de un plugin Java. De atunci, oamenii de software liber, inclusiv studenții de la Seneca College din Toronto, au preluat proiectul.
Processing.js este, de asemenea, utilizat pentru a susține programarea foarte de bază pentru studenții de toate vârstele de la Khan Academy, prin crearea de desene și animații. Cursanții își prezintă creațiile altor cursanți.
p5.js
În 2013, Lauren McCarthy a creat p5.js, o alternativă nativă JavaScript la Processing.js, care are sprijinul oficial al Processing Foundation.
P5Py
p5 este o bibliotecă Python care oferă funcționalități de desen la nivel înalt pentru a vă ajuta să creați rapid simulări și artă interactivă folosind Python. Acesta combină ideile de bază ale procesării - învățarea codării într-un context vizual - cu lizibilitatea Python pentru a face programarea mai accesibilă pentru începători, educatori și artiști.
Processing.py
Modul Python pentru procesare, sau Processing.py este o interfață Python pentru setul de instrumente Java care stă la baza acestuia. A fost dezvoltat în principal de Jonathan Feinberg începând cu 2010, cu contribuții de la James Gilles și Ben Alkov.
Cablare, Arduino și Fritzing
Procesarea a generat un alt proiect, Wiring , care folosește Processing IDE cu o colecție de biblioteci scrise în limbajul C ++ ca modalitate de a învăța artiștii cum să programeze microcontrolere . Acum există două proiecte hardware separate, Wiring și Arduino , care utilizează mediul și limbajul Wiring. Fritzing este un alt mediu software de același fel, care ajută designerii și artiștii să-și documenteze prototipurile interactive și să facă pasul de la prototiparea fizică la produsul real.
Procesare mobilă
Un alt proiect derivat, acum defunct, este Mobile Processing de Francis Li, care a permis software-ului scris folosind limbajul și mediul de procesare să ruleze pe dispozitive mobile alimentate cu Java. Astăzi, unele dintre aceleași funcționalități sunt furnizate chiar de Procesare.
iProcesare
iProcesarea a fost construită pentru a ajuta oamenii să dezvolte aplicații native pentru iPhone folosind limbajul de procesare. Este o integrare a bibliotecii Processing.js și un cadru de aplicații Javascript pentru iPhone.
Spde
Spde (Scala Processing Development Environment) înlocuiește sintaxa Java redusă a procesării și preprocesorul personalizat cu limbajul de programare Scala disponibil , care rulează și pe platforma Java și aplică unele dintre aceleași restricții, cum ar fi interzicerea metodelor statice, permițând totodată mai concis cod și susținerea programării funcționale .
JRubyArt
JRubyArt (denumit anterior ruby-processing ) este un wrapper pentru procesare în limbajul Ruby , care rulează pe platforma Java folosind JRuby.
Quil
Quil este o bibliotecă de animație interactivă pentru Clojure și ClojureScript bazată pe procesare.
Mass-media
Videoclipul pentru House of Cards de Radiohead a fost creat folosind Procesarea combinată cu date din tehnologia lidar , împreună cu utilizarea sticlei acrilice și a oglinzilor pentru a crea scene în care imaginea apare distorsionată, dispare parțial sau se dezintegrează ca și cum ar fi purtată de vânt. Procesarea a fost, de asemenea, utilizată pentru a crea ilustrații pentru publicații precum Nature și New York Times , pentru a scoate sculpturi pentru expoziții de galerii, pentru a controla pereții video uriași și pentru a tricota pulovere.
Vezi si
- Cinder (C ++)
- OpenFrameworks (C ++)
- JavaFX
- Max (software)
- Codea
Note de subsol
Referințe
- Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (22 august 2012), Generative Design: Visualize, Program, and Create with Processing (ediția I), Princeton Architectural Press , p. 472, ISBN 978-1616890773
- Glassner, Andrew (9 august 2010), Processing for Visual Artists: How to Create Expressive Images and Interactive Art (1st ed.), AK Peters / CRC Press, p. 955, ISBN 978-1-56881-716-3, arhivat din original la 21 aprilie 2011
- Reas, Casey; Fry, Ben (17 iunie 2010), Noțiuni introductive despre procesare (prima ediție), Make, p. 208, ISBN 978-1-4493-7980-3
- Noble, Joshua (21 iulie 2009), Programming Interactivity: A Designer's Guide to Processing, Arduino și Openframeworks (prima ediție), O'Reilly Media , p. 736, ISBN 978-0-596-15414-1
- Terzidis, Kostas (11 mai 2009), Algoritmi pentru proiectarea vizuală folosind limbajul de procesare (prima ediție), Wiley , p. 384, ISBN 978-0-470-37548-8
- Reas, Casey; Fry, Ben; Maeda, John (30 septembrie 2007), Processing: A Programming Handbook for Visual Designers and Artists (prima ediție), The MIT Press, p. 736, ISBN 978-0-262-18262-1, arhivat din original la 17 aprilie 2011
- Fry, Ben (11 ianuarie 2008), Vizualizarea datelor (prima ediție), O'Reilly Media , p. 382, ISBN 978-0-596-51455-6
- Greenberg, Ira (28 mai 2007), Processing: Creative Coding and Computational Art (Foundation) (ediția I), prietenii ED, p. 840, ISBN 978-1-59059-617-3, arhivat din original la 27 ianuarie 2011
- Shiffman, Daniel (19 august 2008), Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction (prima ediție), Morgan Kaufmann, p. 450, ISBN 978-0-12-373602-4
- Faludi, Robert (4 ianuarie 2011), Construirea rețelelor de senzori fără fir: cu ZigBee, XBee, Arduino și Processing (prima ediție), O'Reilly Media , p. 320, ISBN 978-0-596-80774-0, arhivat din original la 12 iunie 2019 , recuperat la 18 mai 2011
- Vantomme, ianuarie (20 septembrie 2012), Processing 2, Creative Programming Cookbook (prima ediție), Editura Packt , p. 291, ISBN 9781849517942, arhivat din original la 2 iulie 2014 , recuperat la 25 februarie 2013
- Pearson, Matt (1 iunie 2011), Arta generativă, Un ghid practic folosind prelucrarea (ediția I), Manning, p. 240, ISBN 9781935182627, arhivat din original la 24 iunie 2019 , recuperat la 25 februarie 2013
- Jan, Vantomme (20 septembrie 2012), Processing 2: Creative Programming Cookbook (ediția I), Editura Packt , p. 306, ISBN 978-1849517942, arhivat din original la 2 iulie 2014 , recuperat la 25 februarie 2013
- Sauter, Daniel (2 mai 2013), Rapid Android Development: Build Rich, Sensor-based Applications with Processing (prima ediție), Pragmatic Bookshelf, p. 300, ISBN 978-1937785062, arhivat din original la 13 octombrie 2019 , recuperat la 18 iulie 2013
- Gradwohl, Nikolaus (20 mai 2013), Procesarea 2: Creative Coding Hotshot (prima ediție), Editura Packt , p. 266, ISBN 978-1782166726, arhivat din original la 2 iulie 2014 , recuperat la 18 iulie 2013