# Processing - Programming language

< >

Processing is a programming language created in 2001.

 #149on PLDB 22Years Old 2.4kUsers 42Books 31Papers 78kRepos

Processing is an open source computer programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks. The project was initiated in 2001 by Casey Reas and Benjamin 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. Read more on Wikipedia...

Example from hello-world:
```size(128, 128); background(0); textAlign(CENTER, CENTER); fill(255); text("Hello World", width / 2, height / 2); ```
```// Hello world in Processing println( "Hello world!" );```
Example from Linguist:
```/** * Shape Primitives. * * The basic shape primitive functions are triangle(), * rect(), quad(), ellipse(), and arc(). Squares are made * with rect() and circles are made with ellipse(). Each * of these functions requires a number of parameters to * determine the shape's position and size. */ void setup() { size(640, 360); background(0); noStroke(); } void draw() { fill(204); triangle(18, 18, 18, 360, 81, 360); fill(102); rect(81, 81, 63, 63); fill(204); quad(189, 18, 216, 18, 216, 360, 144, 360); fill(255); ellipse(252, 144, 72, 72); fill(204); triangle(288, 18, 351, 360, 288, 360); fill(255); arc(479, 300, 280, 280, PI, TWO_PI); } ```
Example from Wikipedia:
```PShape usa; PShape state; String [] Obama = { "HI", "RI", "CT", "MA", "ME", "NH", "VT", "NY", "NJ", "FL", "NC", "OH", "IN", "IA", "CO", "NV", "PA", "DE", "MD", "MI", "WA", "CA", "OR", "IL", "MN", "WI", "DC", "NM", "VA" }; String [] McCain = { "AK", "GA", "AL", "TN", "WV", "KY", "SC", "WY", "MT", "ID", "TX", "AZ", "UT", "ND", "SD", "NE", "MS", "MO", "AR", "OK", "KS", "LA" }; void setup() { size(950, 600); // The file "Blank US Map (states only).svg" can be found at Wikimedia Commons usa = loadShape("http://upload.wikimedia.org/wikipedia/commons/archive/1/1a/20130330152451!Blank_US_Map_(states_only).svg"); smooth(); // Improves the drawing quality of the SVG noLoop(); } void draw() { background(255); // Draw the full map shape(usa, 0, 0); // Blue denotes states won by Obama statesColoring(Obama , color(0, 0, 255)); // Red denotes states won by McCain statesColoring(McCain, color(255, 0, 0)); // Save the map as image saveFrame("map output.png"); } void statesColoring(String[] states, int c){ for (int i = 0; i < states.length; ++i) { PShape state = usa.getChild(states[i]); // Disable the colors found in the SVG file state.disableStyle(); // Set our own coloring fill(c); noStroke(); // Draw a single state shape(state, 0, 0); } }```

#### Language features

Feature Supported Token Example
Strings âś“ "
`"Hello world"`
```/* A comment
*/```
`// A comment`
Semantic Indentation X

#### Books about Processing from ISBNdb

title authors year publisher
Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit Bird, Steven and Klein, Ewan and Loper, Edward 2009 O'Reilly Media
Signals and Systems (Prentice-Hall signal processing series) Oppenheim, Alan V. 1982 Prentice Hall
Signal Processing with Fractals: A Wavelet Based Approach Wornell, Gregory 1995 Prentice Hall
Image Processing and Pattern Recognition (Volume 5) (Neural Network Systems Techniques and Applications, Volume 5) Leondes, Cornelius T. 1997 Academic Press
Visualizing Data: Exploring and Explaining Data with the Processing Environment Fry, Ben 2008 O'Reilly Media
Digital Signal Processing Using MATLAB Ingle, Vinay K. and Proakis, John G. 2011 CL Engineering
3-D Image Processing Algorithms Nikolaidis, N. and Pitas, Ioannis 2000 Wiley-Interscience
Text Processing in Python Mertz, David and Mike Hendrickson 2003 Addison-Wesley Professional
The Nature of Code: Simulating Natural Systems with Processing Shiffman, Daniel 2012 The Nature of Code
Data-Intensive Text Processing with MapReduce (Synthesis Lectures on Human Language Technologies) Lin, Jimmy and Dyer, Chris 2010 Morgan and Claypool Publishers
Feature Extraction & Image Processing Nixon, Mark 2008 Academic Press
Signal Processing for Neuroscientists: An Introduction to the Analysis of Physiological Signals van Drongelen, Wim 2006 Academic Press
Principles of Transaction Processing for the Systems Professional (The Morgan Kaufmann Series in Data Management Systems) Philip A. Bernstein and Eric Newcomer 1996 Morgan Kaufmann
Information Processing with Evolutionary Algorithms: From Industrial Applications to Academic Speculations (Advanced Information and Knowledge Processing) 2005 Springer
Digital Signal Processing Using Matlab And Wavelets (Electrical Engineering) Weeks, Michael 2006 Jones & Bartlett Learning
Machine Vision: Theory, Algorithms, Practicalities (Signal Processing and its Applications) Davies, E. R. 2005 Morgan Kaufmann
Embedded Signal Processing with the Micro Signal Architecture Gan, Woon-Seng and Kuo, Sen M. 2007 Wiley-IEEE Press
Introduction to Statistical Signal Processing with Applications Srinath, Mandyam D. and Rajasekaran, P.K. and Viswanathan, R. 1995 Prentice Hall
Image Processing with ImageJ - Second Edition Broeke, Jurjen and Perez, Jose Maria Mateos and Pascau, Javier 2015 Packt Publishing
Basic Fortran Iv Programming (irwin-dorsey Information Processing Series) Donald H Ford 1974 R. D. Irwin
Parallel Processing and Parallel Algorithms: Theory and Computation Roosta, Seyed H 1999 Springer
Java Transaction Processing (Hewlett-Packard Professional Books): Design and Implementation Mark Little and Jon Maron and Greg Pavlik and Jonathan Maron 2004 Prentice Hall
Digital Signal Processing (DSP) with Python Programming Charbit, Maurice 2017 Wiley-ISTE
Introduction to Digital Image Processing with MATLAB McAndrew, Alasdair 2004 Course Technology
Instant Audio Processing with Web Audio Khoo, Chris 2013 Packt Publishing
An Introduction to Natural Language Processing Through Prolog (Learning about Language) Matthews, Clive 1998 Routledge
Developing Natural Language Interfaces: Processing Human Conversations Suereth, Russell 1997 McGraw-Hill
Text Mining: From Ontology Learning to Automated Text Processing Applications (Theory and Applications of Natural Language Processing) Chris Biemann 2014 Springer
Embedded Media Processing (Embedded Technology) Katz, David J. and Gentile, Rick 2005 Newnes
Digital Compression of Still Images and Video (Signal Processing and its Applications) Clarke, Roger J. 1995 Academic Press
Algorithms for Discrete Fourier Transform and Convolution (Signal Processing and Digital Filtering) Tolimieri, Richard and An, Myoung and Lu, Chao 1997 Springer
Agile Processes in Software Engineering and Extreme Programming: 11th International Conference, XP 2010, Trondheim, Norway, June 1-4, 2010, ... in Business Information Processing (48)) 2010 Springer
Constraint Processing (The Morgan Kaufmann Series in Artificial Intelligence) Dechter, Rina 2003 Morgan Kaufmann
Data Privacy and Security (Signal Processing and Digital Filtering) Salomon, David 2003 Springer
Nonlinear Signal and Image Processing: Theory, Methods, and Applications (Electrical Engineering & Applied Signal Processing Series) 2003 CRC Press
Digital Signal Processing Abraham Peled and Bede Liu 1985 Krieger Publishing Company
Agile Processes in Software Engineering and Extreme Programming: 9th International Conference, XP 2008, Limerick, Ireland, June 10-14, 2008, ... Notes in Business Information Processing (9)) 2008 Springer
Coarse-to-Fine Natural Language Processing (Theory and Applications of Natural Language Processing) Petrov, Slav 2011 Springer
Programming the Propeller with Spin: A Beginner's Guide to Parallel Processing (Tab Electronics) Sandhu, Harprit 2010 McGraw-Hill Education TAB
Advanced Structured Prediction (Neural Information Processing series) 2014 The MIT Press
Fundamentals of Music Processing Meinard MĂĽller 20150721 Springer Nature
Image Processing Of Geological Data Fabbri, Andrea G. 1984 Van Nostrand Reinhold Co.

#### Publications about Processing from Semantic Scholar

title authors year citations influentialCitations
scikit-image: image processing in Python S. Walt and Johannes L. SchĂ¶nberger and Juan Nunez-Iglesias and FranĂ§ois Boulogne and Joshua D. Warner and Neil Yager and E. Gouillart and Tony Yu 2014 2701 73
Pig latin: a not-so-foreign language for data processing Christopher Olston and B. Reed and U. Srivastava and Ravi Kumar and A. Tomkins 2008 2055 269
Steven Bird, Ewan Klein and Edward Loper: Natural Language Processing with Python, Analyzing Text with the Natural Language Toolkit Wiebke Wagner 2010 1304 116
Constraint Processing R. Dechter 1995 1179 153
Spark SQL: Relational Data Processing in Spark Michael Armbrust and Reynold Xin and Cheng Lian and Yin Huai and Davies Liu and Joseph K. Bradley and X. Meng and Tomer Kaftan and M. Franklin and A. Ghodsi and M. Zaharia 2015 1155 207
SCOPE: easy and efficient parallel processing of massive data sets R. Chaiken and Bob Jenkins and P. Larson and Bill Ramsey and Darren Shakib and S. Weaver and Jingren Zhou 2008 856 88
Automating string processing in spreadsheets using input-output examples Sumit Gulwani 2011 718 84
Monte Carlo simulation of photon migration in 3D turbid media accelerated by graphics processing units. Q. Fang and D. Boas 2009 658 24
EBImageâ€”an R package for image processing with applications to cellular phenotypes GrĂ©goire Pau and Florian Fuchs and O. Sklyar and M. Boutros and W. Huber 2010 507 26
Convolutional Neural Networks over Tree Structures for Programming Language Processing Lili Mou and Ge Li and Lu Zhang and Tao Wang and Zhi Jin 2014 420 61
EP-SPARQL: a unified language for event processing and stream reasoning Darko Anicic and P. Fodor and S. Rudolph and N. StojanoviÄ‡ 2011 401 53
XDuce: A statically typed XML processing language H. Hosoya and B. Pierce 2003 357 24
Swift/T: Large-Scale Application Composition via Distributed-Memory Dataflow Processing J. Wozniak and Timothy G. Armstrong and M. Wilde and D. Katz and E. Lusk and Ian T Foster 2013 131 16
IBM Streams Processing Language: Analyzing Big Data in motion Martin Hirzel and H. Andrade and B. Gedik and Gabriela Jacques-Silva and R. Khandekar and Vibhore Kumar and M. Mendell and Howard Nasgaard and S. Schneider and R. SoulĂ© and Kun-Lung Wu 2013 127 8
A very high level programming language for data processing applications M. Hammer and W. G. Howe and V. Kruskal and I. Wladawsky 1977 107 1
Feldspar: A domain specific language for digital signal processing algorithms E. Axelsson and K. Claessen and Gergely DĂ©vai and ZoltĂˇn HorvĂˇth and K. Keijzer and B. LyckegĂĄrd and Anders Persson and M. Sheeran and Josef Svenningsson and A. Vajda 2010 104 10
C Language Algorithms for Digital Signal Processing P. M. Embree and Bruce Kimble 1991 103 4
Programming Heterogeneous Systems from an Image Processing DSL Jing Pu and Steven Bell and Xuan S. Yang and Jeff Setter and S. Richardson and Jonathan Ragan-Kelley and M. Horowitz 2016 80 9
Inductive Logic Programming for Natural Language Processing R. Mooney 1996 71 7
Lightweight Language Processing in Kiama A. Sloane 2009 64 9
The Design and Implementation of Feldspar - An Embedded Language for Digital Signal Processing E. Axelsson and K. Claessen and M. Sheeran and Josef Svenningsson and David Engdal and Anders Persson 2010 60 6
Genetic programming on graphics processing units D. Robilliard and Virginie Marion-Poty and C. Fonlupt 2009 54 4
Simplifying Scalable Graph Processing with a Domain-Specific Language Sungpack Hong and S. Salihoglu and J. Widom and K. Olukotun 2014 52 4
Natural language processing future M. Surabhi 2013 33 1
Natural Language is a Programming Language: Applying Natural Language Processing to Software Development Michael D. Ernst 2017 32 0
Programming language Python for data processing Z. DobesovĂˇ 2011 28 1
XCentric: logic programming for XML processing Jorge Coelho and MĂˇrio Florido 2007 27 1
IAL: a parallel image processing programming language D. Crookes and P. Morrow and P. McParland 1990 24 0
Kronos: A Declarative Metaprogramming Language for Digital Signal Processing Vesa Norilo 2015 17 2
ASAMPL: Programming Language for Mulsemedia Data Processing Based on Algebraic System of Aggregates Y. Sulema 2017 15 2
Visualizing Morphogenesis with the Processing Programming Language Avik Patel and Amarpreet Bains and Richard Miller and T. Elul 2017 3 0
pl-sql.html Â· processing.html Â· dylan.html
- Build the next great programming language Â· Search Â· v2023 Â· Day 205 Â· Docs Â· Acknowledgements Â· Traffic Â· Traffic Today Â· Mirrors Â· GitHub Â· feedback@pldb.com