Processing is an open source computer programming language and development environment originally developed by Casey Reas and Benjamin Fry.1) It has been adopted by countless visual artists for exploring generative and interactive art and by interaction designers for building and researching screen-based interfaces. Many of its ideas have been adopted by other tools targeting art and design, including the Arduino physical computing platform.
This is not a book about using the Processing language per se. Rather, it is a book that attempts to introduce you to programming concepts using Processing. We hope that after completing this book, you'll not only have a good grasp of what Processing is and what you can do with it, but that you'll also have learned about the concepts that drive programming in general and will have developed good coding techniques using best practices.
It's pretty easy and lots of fun to quickly start doing things with Processing. But as the complexity of what you want to do grows, it will be crucial for you to develop a solid understanding of programming concepts to let you write programs that match that complexity of intent. Our hope with this book is to give you that perspective right from the start. Another reason for you to be excited about taking a programming concepts dive into Processing is that it is but one of many tools available to visual artists and interaction designers that require programming. The more you know and approach Processing as a programming experience, the easier it will be for you to transfer your skills to other tools.
If you are not a visual artist or interaction designer but are interested in learning programming in general, this book may also be for you. It will cover all the classic fundamental programming concepts using a tool that is rich in visual rather than text-based interaction. Some learners may find this a more enjoyable way to learn about programming.
Comments regarding this book-in-progress are appreciated. Please send them to TODO@TODO.com.