An Introduction To Programming With Processing

Why Learn Programming using Processing?

Processing covers a lot of ground as it is a great way to learn programming for the novice and for the experienced programmer it provides a fast and efficient approach to developing advanced applications.

Code for Artists

Processing is built with the intent to be a tool for creating visual and interactive representations of code. This means that it is not as generic in it's application such as a programming language like C++ which can be used for engineering, mathematics, scientific applications and even games development but which also has it's limitations as it is generally not used to create online applications that might appear on a website. Processing is built for specific fields of interest and as a result less coding is needed in Processing than might be required in more generic programming languages when developing programs that are suited for the Processing environment, such as data visualization, interactive online applications, animation and many other similar fields. This is not to say that Processing is limited to one particular genre of application, but merely to say that Processing provides a set of tools that make the process of creating certain types of applications easier. Processing has developed since 2001 initially as an extension to the Java programming language, then into a prototyping tool and now into it's current implementation of being a fully developed programming language that continues to develop in fields such as microprocessor programming and physical computing where it has gained much recognition.

Java Based

Java and C++ Hello Worlds

Processing was originally developed as an extension to the Programming language, Java and it's roots in Java are still evident today even though Processing is a language on it's own. Processing's relationship with Java has many benefits, the two languages share a similar syntax except that Processing can make visual representations of your code easier to create than Java can (which is more generic in it's scope of application). Java shares a lot of similarities with the programming language C (from which it was originally developed) and Java is also one of the most popular languages currently in use. If you are familiar with Java or C++(which is also closely based on C) learning Processing should come quite naturally to you.
The Java programming language is a popular language for software development and is almost entirely open source. C++ is a widely implemented language, as it is available on many popular platforms

Open Source

GPL and CC

The Processing PDE (which is used to develop Processing code and is something we will discuss in more detail later) is Open Source Software and it is released under the GNU General Public License. You've probably heard the term “open source” before and are aware that it relates to something “free”, but are you aware that the term “free” as it is used in the context of open source does not necessarily have anything to do with money or the absence thereof? The term “free” within the context of open source refers more to a philosophy or methodology rather than a monetary reference and as such is akin to the term “freedom”. However as the idea of open source has expanded in modern day society it is often come to be synonymous with something that is also free of monetarily related costs. Processing is no exception to this, it does not require a costly software license such as proprietary software vendors require for the usage of their products. Anybody can use Processing and the PDE, modify it, redistribute it and the GNU General Public License ensures that the Processing PDE will always remain free. What about the content you create with Processing does that also have to be “free” and open source? The answer to this question is, and will remain to be, no. The content you create with Processing belongs to you, the creator, and you are free to do with it whatever you please. If you wish to sell the software or code that you produce with Processing it is your right to do so. If, however, you do not wish to sell your work and wish to distribute it freely as open source code there are various options available to you to protect you and your work. Amongst these licences is the GNU General Public Licence which protects the rights of developers of computer programs that wish to ensure that the software they develop remains free, including all derivatives that are made from the original software program. Another such licence is the Creative Commons Licence, this licence allows creators of media to reserve some rights of their work (if they choose to) and still legally allows the copying, redistribution and modification of such media if the author chooses to exercise these rights. Wikipedia is an example of a large scale organization that licenses it's contents under a Creative Commons Licence and Linux is an example of popular software that is licensed under the GNU General Public Licence.