====== Introduction ====== [[https://processing.org/|Processing]] is an open source programming language and development environment originally developed by Casey Reas and Benjamin Fry.((While we refer to Processing as a language, it's technically a //library//. However, when the Processing library is used with its dedicated Processing IDE, it is for all intents and purposes indistinguishable from a language.)) 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 [[https://www.arduino.cc/|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 that you'll have developed good coding habits 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 your 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 Processing is but one of many tools available to visual artists and interaction designers that require programming. The more you approach learning Processing as a programming experience, the easier it will be for you to transfer your skills to those other tools. If you are not a visual artist or 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. The code here was vetted against Processing 3. Older and newer versions may not be entirely compatible. Comments regarding this book-in-progress are appreciated. Please send them to me at FIXME TODO@TODO.com.