The PDE is a popular tool for developing Processing sketches, but another popular IDE, Eclipse is also quite readily used too.
Of course all code is simply text, so why can't we call any text editor an IDE? An IDE such as the PDE generally has several special characteristics that separate it from other software applications.
- 1. Source Code Editor
- 2. Build Automation Tools
- 3. Compiler and/or Interpreter
- 4. Debugger
Source Code Editor
A source code editor is a textual editor within an IDE. The Source Code editor in an IDE is designed specifically for programming purposes and not for word-processing, so generally text formatting capabilities such as bold, italicizing characters or directly editing characters colors is not permitted within source code editors.
The source code editor within the PDE allows you to type code, and access Processing's API.
Modern day source code editors use color codes to distinguish different types of data, this is referred to as syntax highlighting and it helps to make code more human-readable.
Build Automation Tools
Programming can involve many repetitive tasks, build automation tools help programmers perform these repetitive tasks by use of tools built into the IDE. They might include the IDE's ability to convert source code to machine readable code with the click of a single button (the button being the build automation tool) or the ability to export your source code to multiple platforms with a menu selection. In the PDE several build automation tools for creating Processing applications can be found under the Tools and Sketch menus. More generic build automation tools can also be found in the other menu's in the PDE, such as File, Edit and Help Menus.
Processing's build automation toolset can also be extended by downloading tools from processing.org/reference/tools/
Compiler and /or Interpreter
Most modern day IDE's have a compiler and/or interpreter, as this is the feature within an IDE that enables the conversion of source code to machine readable code. It is in this feature that our code is given a “meaning” for a computer to implement and for us to observe, interact with and experience in what ever it's intended form of implementation.
You might be wondering at this point what exactly is the difference between a compiler and an interpreter?
The terms stem from a “Compiled Language” and an “Interpreted Language”. As mentioned before in order for a computer to make any sense of our source code it needs to convert this code into a machine readable format, this process of conversion is referred to as compiling. The process is specific because the code must be fed into a compiler in a specific language and then be compiled into another “language” which is no longer human-readable but machine readable and specific to a particular platform. A compiler is said to perform this task on the entirety of the source code once so that when the program is compiled there is no more conversion or compilation that needs to be performed there after.
An interpreter differs in the sense that the source code is not compiled into a specific machine readable format. So how does the code run on a machine? The code is passed to an interpreter (which is another software application) that runs the code. The interpreter then determines how the code should be run continuously translating the code from a higher level to a machine readable level each time the code needs to be executed.
Of course at some point in order for the code to be run on a computer it has to exist in a machine readable format regardless of whether it's compiled or interpreted, so theoretically the difference between the two methods is not inherently specific to the language you are creating the code with, but rather more to do with how a language is implemented. What this means is that any language could be interpreted or compiled it's how the code that you create is implemented, that determines whether that code will be compiled or interpreted.
Processing compiles it's applications known as sketches to Java bytecode, this code is then sent to a Java Virtual Machine (JVM) where it is either interpreted via the JVM instruction set or compiled using a Just In Time (JIT) compiler. As a result a Processing sketch can run on any Java enabled machine and it is estimated that there are currently over 4.5 billion Java-enabled machines. Java is often said to be an interpreted language.
Processing compiles your Sketches to Java Bytecode and uses the Display Window (foreground) for testing and development.
A debugger in the context of an IDE is software that examines code either as a part of the compilation process or before compilation or interpretation in order to reduce the number of bugs within a program. The term bug in relation to computer programming is used to describe an error, fault or some means of a computer program acting in an unexpected or unintended way. The process of debugging a program is intended to identify these bugs and in some cases assist the programmer in rectifying them. In the PDE the debugging console consists of the Message and Text Area and can be found below the text editor and is used generally for debugging one's own program or allowing the PDE to determine bugs within a program.
The debugging console is made up of the Message and Text Area and can be used to identify bugs and track the associated values of program variables which can be useful in identifying logical errors.
Active Online Community
Processing is not a stagnant language it is very much alive and
growing. The Language's development is rapid but not so rapid that it
becomes difficult to keep up with. A lot of this development can be
attributed to the active community that support the project by
contributing libraries and their own source code.
If you are in need of any help with programming in Processing, want to keep up to date with it's development or just simply want to play around with programs made with Processing online then I recommend you visit http://www.processing.org
The forums are really easy to use and you are encouraged to ask questions, as there seems to be many people out there that are keen on helping you develop your software.
The latest version of Processing can be downloaded at http://processing.org/download