请输入您要查询的百科知识:

 

词条 Processing (programming language)
释义

  1. History

  2. Features

  3. Examples

  4. Awards

  5. License

  6. Related projects

     Design By Numbers  Processing.js  p5.js  Processing.py  Wiring, Arduino, and Fritzing  Mobile Processing  iProcessing  Spde  JRubyArt 

  7. See also

  8. Footnotes

  9. References

  10. External links

{{Infobox programming language
| name = Processing
| logo =
| paradigm = Object-oriented
| latest release version = 3.4.0
| latest release date = {{Start date and age|2018|07|26}}[1]
| latest preview version =
| latest preview date =
|
| license = GPL, LGPL
| website = {{URL|processing.org}}
| alt = On a black circle outlined with silver, a serifed number 1 and number 3, with the 3's center at the same horizontal level of the 1's upper bound. This creates a unified "P3" letter-number combination.
| year = {{Start date and age|2001}}
| designers = Casey Reas, Ben Fry
| file ext = .pde
}}

Processing is an open-source graphical library and integrated development environment (IDE) / playground built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.

Processing uses the Java language, with additional simplifications such as additional classes and aliased mathematical functions and operations. As well as this, it also has a graphical user interface for simplifying the compilation and execution stage.

The Processing language and IDE were the precursor to numerous other projects, notably Arduino, Wiring and p5.js.

History

The project was initiated in 2001 by Casey Reas and Ben Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab. In 2012, they started the Processing Foundation along with Daniel Shiffman, who joined as a third project lead. Johanna Hedva joined the Foundation in 2014 as Director of Advocacy.[2]

Originally, Processing had the URL at proce55ing.net, because the processing domain was taken. Eventually Reas and Fry acquired the domain processing.org.[3] Although the name had a combination of letters and numbers, it was still pronounced processing. They do not prefer the environment being referred to as Proce55ing. Despite the domain name change, Processing still uses the term p5 sometimes as a shortened name (p5 specifically is used, not p55), for example p5.js is a reference to that.[4]

Features

{{Infobox software
| name = Processing IDE
| logo =
| logo caption =
| screenshot = ProcessingIDE english.png
| screenshot size = 250px
| caption = Screenshot of Processing's integrated development environment.
| collapsible =
| author =
| developer =
| released =
| discontinued =
| latest release version = 3.4.0
| latest release date = {{Start date and age|2018|07|26}}
| latest preview version =
| latest preview date =
| status =
| programming language = Java, GLSL, JavaScript
| operating system = Cross-platform
| platform =
| size =
| language =
| genre = Integrated development environment
| license =
| website = {{URL|//processing.org}}
| frequently updated =
}}

Processing includes a sketchbook, a minimal alternative to an integrated development environment (IDE) for organizing projects.[5]

Every Processing sketch is actually a subclass of the PApplet Java class (formerly a subclass of Java's built-in Applet) which implements most of the Processing language's features.[6]

When programming in Processing, all additional classes defined will be treated as inner classes when the code is translated into pure Java before compiling.[7] This means that the use of static variables and methods in classes is prohibited unless Processing is explicitly told to code in pure Java mode.

Processing also allows for users to create their own classes within the PApplet sketch. This allows for complex data types that can include any number of arguments and avoids the limitations of solely using standard data types such as: int (integer), char (character), float (real number), and color (RGB, RGBA, hex).

Examples

The simplest possible version of a "Hello World" program in Processing is:

//This prints "Hello World." to the IDE console.

void setup() {

}

However, due to the more visually-oriented nature of Processing, the following code is a better example of the look and feel of the language.

//Hello mouse.

void setup() {

       size(400, 400);       stroke(255);       background(192, 64, 0);

}

void draw() {

}

Awards

In 2005 Reas and Fry won the prestigious Golden Nica award from Ars Electronica in its Net Vision category for their work on Processing.[8]

Ben Fry won the 2011 National Design Award given by the Smithsonian Cooper-Hewitt National Design Museum in the category of Interaction Design. The award statement says:

"Drawing on a background in graphic design and computer science, Ben Fry pursues a long-held fascination with visualizing data. As Principal of Fathom Information Design in Boston, Fry develops software, printed works, installations, and books that depict and explain topics from the human genome to baseball salaries to the evolution of text documents. With Casey Reas, he founded the Processing Project, an open-source programming environment for teaching computational design and sketching interactive-media software. It provides artists and designers with accessible means of working with code while encouraging engineers and computer scientists to think about design concepts."[9]

License

Processing's core libraries, the code included in exported applications and applets, is licensed under the GNU Lesser General Public License, allowing users to release their original code with a choice of license.

The IDE is licensed under the GNU General Public License.

Related projects

Processing is not a single language, but rather, an arts-oriented approach to learning, teaching, and making things with code. There are several variants and related projects:

Design By Numbers

Processing was based on the original work done on Design By Numbers project at MIT. It shares many of the same ideas and is a direct child of that experiment.

Processing.js

{{Main|Processing.js}}

In 2008, John Resig ported Processing to JavaScript using the Canvas element for rendering,[10] allowing Processing to be used in modern web browsers without the need for a Java plugin. Since then, the open source community including students at Seneca College in Toronto have taken over the project.

Processing.js is also used to advocate very basic programming to Students of all ages on Khan Academy by creating drawings and animations. Learners showcase their creations to other learners.

p5.js

In 2013, Lauren McCarthy created p5.js, a native JavaScript alternative to Processing.js that has the official support of the Processing Foundation. McCarthy also teaches an introductory course to p5.js on Kadenze.[11]

{{Cquote|What means number 5 in name "p5"?
the original domain of processing was proce55ing.net, so people used to sometimes refer to processing as proce55ing or P5 or p5 for short. they still do sometimes. p5.js is a reference to that.
|author=Lauren McCarthy
|source=[12]
}}

Processing.py

Python Mode for Processing, or Processing.py is a Python interface to the underlying Java toolkit. It was chiefly developed by Jonathan Feinberg starting in 2010, with contributions from James Gilles and Ben Alkov.[13]

Wiring, Arduino, and Fritzing

Processing has spawned another project, Wiring, which uses the Processing IDE with a collection of libraries written in the C++ language as a way to teach artists how to program microcontrollers.[14] There are now two separate hardware projects, Wiring and Arduino, using the Wiring environment and language.

Fritzing is another software environment of the same sort, which helps designers and artists to document their interactive prototypes and to take the step from physical prototyping to actual product.

Mobile Processing

Another spin-off project, now defunct, is Mobile Processing by Francis Li, which allowed software written using the Processing language and environment to run on Java powered mobile devices. Today some of the same functionality is provided by Processing itself.[15]

iProcessing

iProcessing was built to help people develop native iPhone applications using the Processing language. It is an integration of the Processing.js library and a Javascript application framework for iPhone.[16]

Spde

Spde (Scala Processing Development Environment) replaces Processing's reduced Java syntax and custom preprocessor with the off-the-shelf Scala programming language which also runs on the Java platform and enforces some of the same restrictions such as disallowing static methods, while also allowing more concise code, and supporting functional programming.[17][18][19]

JRubyArt

JRubyArt (formerly named ruby-processing) is a wrapper for Processing in the Ruby language, that runs on the Java platform using JRuby.

See also

{{Portal|Free and open-source software|Java (programming language)}}
  • Cinder (C++)
  • OpenFrameworks (C++)
  • JavaFX
  • Max (software)
  • Codea

Footnotes

1. ^{{Cite web|url=https://processing.org/download/|title=Download Processing.org|last=|first=|date=|website=processing.org|access-date=2018-07-26}}
2. ^{{Cite web|url=https://processingfoundation.org/people|title=People|website=processingfoundation.org|access-date=2017-04-24}}
3. ^{{cite web|url=https://processing.org/discourse/alpha/board_Collaboration_action_display_num_1074297082.html|title=Processing 1.0 _ALPHA_ - processing.org|website=processing.org}}
4. ^{{cite web|url=https://github.com/processing/p5.js/issues/2443|title=What means number 5 in name "p5"? · Issue #2443 · processing/p5.js|website=GitHub}}
5. ^{{cite book|author=Ira Greenberg|title=Processing: Creative Coding and Computational Art|url=https://books.google.com/books?id=TKgfVpWPb0sC&pg=PA151|date=31 December 2007|publisher=Apress|isbn=978-1-4302-0310-0|pages=151–}}
6. ^{{cite book|author=Jeanine Meyer|title=Programming 101: The How and Why of Programming Revealed Using the Processing Programming Language|url=https://books.google.com/books?id=yypgDwAAQBAJ&pg=PA121|date=15 June 2018|publisher=Apress|isbn=978-1-4842-3697-0|pages=121–}}
7. ^{{cite book|author=Ira Greenberg|title=The Essential Guide to Processing for Flash Developers|url=https://books.google.com/books?id=7pVhzd6h20IC&pg=PA412|date=25 March 2010|publisher=Apress|isbn=978-1-4302-1980-4|pages=412–}}
8. ^{{cite book|author=Meredith Hoy|title=From Point to Pixel: A Genealogy of Digital Aesthetics|url=https://books.google.com/books?id=r0NwDQAAQBAJ&pg=PA142|date=3 January 2017|publisher=Dartmouth College Press|isbn=978-1-5126-0023-0|pages=142–}}
9. ^http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf
10. ^{{cite web|url=http://ejohn.org/blog/processingjs/|title=John Resig - Processing.js}}
11. ^[https://www.kadenze.com/courses/introduction-to-programming-for-the-visual-arts-with-p5-js/info Introduction to Programming for the Visual Arts with p5.js on Kadenze]
12. ^[https://github.com/processing/p5.js/issues/2443 What means number 5 in name "p5"?]
13. ^{{cite book|author1=Allison Parrish|author2=Ben Fry|author3=Casey Reas|title=Getting Started with Processing.py: Making Interactive Graphics with Processing's Python Mode|url=https://books.google.com/books?id=ddYlDAAAQBAJ|date=11 May 2016|publisher=Maker Media, Incorporated|isbn=978-1-4571-8679-0}}
14. ^{{cite web|url=http://circuitcellar.com/ee-tips/processing-wiring-and-arduino-ee-tip-101/|title=Processing, Wiring, and Arduino (EE Tip 101) - Circuit Cellar|date=18 September 2013|publisher=}}
15. ^{{cite web| title = Android - Processing| accessdate = 2013-06-03| url = http://wiki.processing.org/w/Android}}
16. ^{{cite web|url=http://cdm.link/2010/02/iprocessing-puts-processing-js-on-iphone-but-what-about-browsers/|title=iProcessing Puts Processing.js on iPhone - But What About Browsers? - CDM Create Digital Music|date=11 February 2010|publisher=}}
17. ^{{cite web|url=http://technically.us/spde/About|title=Spde: Spde|publisher=Technically.us|accessdate=2013-08-20}}
18. ^{{cite web|url=http://technically.us/code/x/runaway-processing/|title=Coderspiel / Runaway processing|publisher=Technically.us|accessdate=2013-08-20}}
19. ^{{cite web|url=http://technically.us/code/x/flocking-with-spde/|title=Coderspiel / Flocking with Spde|publisher=Technically.us|accessdate=2013-08-20}}

References

{{Refbegin}}
  • {{citation

| first1 = Hartmut
| last1 = Bohnacker
| first2 = Benedikt
| last2 = Gross
| first3 = Julia
| last3 = Laub
| first4 = Claudius
| last4 = Lazzeroni
| title = Generative Design: Visualize, Program, and Create with Processing
| date = August 22, 2012
| edition = 1st
| publisher = Princeton Architectural Press
| page = 472
| isbn = 978-1616890773
| url =
}}
  • {{citation

|first1 = Andrew
|last1 = Glassner
|title = Processing for Visual Artists: How to Create Expressive Images and Interactive Art
|date = August 9, 2010
|edition = 1st
|publisher = A K Peters/CRC Press
|page = 955
|isbn = 1-56881-716-9
|url = http://www.crcpress.com/ecommerce_product/product_detail.jsf?isbn=9781568817163
|deadurl = yes
|archiveurl = https://web.archive.org/web/20110421204824/http://www.crcpress.com/ecommerce_product/product_detail.jsf?isbn=9781568817163
|archivedate = April 21, 2011
|df =
}}
  • {{citation

| first1 = Casey
| last1 = Reas
| first2 = Ben
| last2 = Fry
| title = Getting Started with Processing
| date = June 17, 2010
| edition = 1st
| publisher = Make
| page = 208
| isbn = 1-4493-7980-X
| url =
}}
  • {{citation

| first = Joshua
| last = Noble
| title = Programming Interactivity: A Designer's Guide to Processing, Arduino, and Openframeworks
| date = July 21, 2009
| edition = 1st
| publisher = O'Reilly Media
| page = 736
| isbn = 0-596-15414-3
| url = http://oreilly.com/catalog/9780596154141/
}}
  • {{citation

| first = Kostas
| last = Terzidis
| title = Algorithms for Visual Design Using the Processing Language
| date = May 11, 2009
| edition = 1st
| publisher = Wiley
| page = 384
| isbn = 0-470-37548-5
| url = http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470375485.html
}}
  • {{citation

|first1 = Casey
|last1 = Reas
|first2 = Ben
|last2 = Fry
|first3 = John
|last3 = Maeda
|title = Processing: A Programming Handbook for Visual Designers and Artists
|date = September 30, 2007
|edition = 1st
|publisher = The MIT Press
|page = 736
|isbn = 0-262-18262-9
|url = http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11251
|deadurl = yes
|archiveurl = https://web.archive.org/web/20110417063708/http://mitpress.mit.edu/catalog/item/default.asp?tid=11251&ttype=2
|archivedate = April 17, 2011
|df =
}}
  • {{citation

| first = Ben
| last = Fry
| title = Visualizing Data
| date = January 11, 2008
| edition = 1st
| publisher = O'Reilly Media
| page = 382
| isbn = 0-596-51455-7
| url = http://oreilly.com/catalog/9780596514556/
}}
  • {{citation

|first = Ira
|last = Greenberg
|title = Processing: Creative Coding and Computational Art (Foundation)
|date = May 28, 2007
|edition = 1st
|publisher = friends of ED
|page = 840
|isbn = 1-59059-617-X
|url = http://friendsofed.com/book.html?isbn=159059617X
|deadurl = yes
|archiveurl = https://web.archive.org/web/20110127204040/http://www.friendsofed.com/book.html?isbn=159059617X
|archivedate = January 27, 2011
|df =
}}
  • {{citation

| first = Daniel
| last = Shiffman
| title = Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
| date = August 19, 2008
| edition = 1st
| publisher = Morgan Kaufmann
| page = 450
| isbn = 0-12-373602-1
| url = http://www.learningprocessing.com/
}}
  • {{citation

| first = Robert
| last = Faludi
| date = January 4, 2011
| title = Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing
| edition = 1st
| publisher = O'Reilly Media
| page = 320
| isbn = 978-0-596-80774-0
| url = http://faludi.com/bwsn
}}
  • {{citation

| first = Jan
| last = Vantomme
| title = Processing 2, Creative Programming Cookbook
| date = September 20, 2012
| edition = 1st
| publisher = Packt Publishing
| page = 291
| isbn = 9781849517942
| url = http://www.packtpub.com/processing-2-creative-programming-cookbook/book
}}
  • {{citation

| first = Matt
| last = Pearson
| title = Generative Art, A practical guide using Processing
| date = June 1, 2011
| edition = 1st
| publisher = Manning
| page = 240
| isbn = 9781935182627
| url = http://zenbullets.com/book.php
}}
  • {{citation

| first = Vantomme
| last = Jan
| title = Processing 2: Creative Programming Cookbook
| date = September 20, 2012
| edition = 1st
| publisher = Packt Publishing
| page = 306
| isbn = 978-1849517942
| url = http://www.packtpub.com/processing-2-creative-programming-cookbook/book
}}
  • {{citation

| first = Daniel
| last = Sauter
| title = Rapid Android Development: Build Rich, Sensor-Based Applications with Processing
| date = May 2, 2013
| edition = 1st
| publisher = Pragmatic Bookshelf
| page = 300
| isbn = 978-1937785062
| url = http://pragprog.com/book/dsproc/rapid-android-development
}}
  • {{citation

| first = Nikolaus
| last = Gradwohl
| title = Processing 2: Creative Coding Hotshot
| date = May 20, 2013
| edition = 1st
| publisher = Packt Publishing
| page = 266
| isbn = 978-1782166726
| url = http://www.packtpub.com/processing-2-creative-coding-hotshot/book
}}{{Refend}}

External links

{{Commons category|Processing (programming language)|Processing}}
  • {{Official website}}
  • [https://github.com/processing/processing/wiki Official wiki]
  • [https://discourse.processing.org/ Official forum]
  • OpenProcessing - sketches library
  • Website for Generative Gestaltung book with examples and source codes {{Link language|de}}
  • Working with Processing and Arduino
  • [https://github.com/jashkenas/ruby-processing Ruby-Processing, which is a ruby wrapper around the Processing code art framework, built using JRuby]
{{Java (Sun)}}{{Authority control}}

15 : Programming languages|Animation software|Computer graphics|Cross-platform software|Educational programming languages|Free computer libraries|Java platform|Java programming language family|JVM programming languages|Object-oriented programming languages|Physical computing|Software using the LGPL license|2001 software|Cross-platform free software|Programming languages created in 2001

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/22 17:24:39