FOREWORD

THREE HUNDRED YEARS AGO, books were limited to a select few: members of the clergy and the upper class. Then, as access to education increased dramatically and the printing industry took off, the world struggled to change the educational system to teach students the fundamentals of reading. Today, we take for granted that every student will learn how to read—it’s a necessary skill to operate in the modern world. But it’s interesting to note that we have the same anxieties now about how to teach every student the fundamentals of programming as people had about reading so long ago. We all know it needs to happen; the devil is in the details.

I learned to program by getting a bootlegged copy of Visual Basic from one of my parent’s friends and spending countless hours re-creating a board game called Stratego. I even made it work over a modem so I could play against friends who lived across town. This wasn’t part of a class that I took in seventh grade; it was raw, unguided determination. I learned a tremendous amount, but it was a slow process and I often programmed in very wrong ways. I would design what should happen when a piece was placed on a player square and then copy and paste that code 72 times across 72 different player squares. I distinctly remember the day I discovered what a function call was and thinking, Whoa! That’s how that works?! Overnight, my code got a lot smaller and easier to modify, and I learned something I now use every day of my life. I seriously love writing code.

Based on this experience, I am of two minds about the learning process. There is part of me that believes every person needs to have the experience of trying to build something, to design something, to sculpt something before they discover the tips and tricks of their profession. That way we will truly understand just how beneficial those tools are. There is, however, an equally loud part of me that thinks no one should waste time fumbling around getting frustrated. We should instead stand on the shoulders of others and reach for the stars. There is no end to this debate, but the good news is that no matter how you learn the tools, they have gotten much easier to learn for two reasons: the Internet and open source.

When I was learning how to program, I struggled to find a book, a friend, or a teacher that could answer my questions. Today there are over 158 million how-to videos on YouTube. There are countless communities on the Internet that want nothing more than to share and to help other members have a positive experience learning something new. There are dozens of large nonprofit entities creating free online courses on art history, genetics, fundamentals of music theory, and yes, even an “Intro to Programming.” When I was a kid, my determination to learn something nonstandard was frowned upon; my parents were worried I needed to spend more time outdoors or playing with friends. I think I ended up just fine, but if I were growing up today, with the resources that are available to beginners now, I think a small amount of determination would lead to much larger success than I ever experienced.

If I were in seventh grade, I’d want to learn Processing. It has a huge Internet community and countless how-tos. Thanks to the power of open source, the community has flourished, creating apps and plug-ins that extend Processing into environments that its creators Ben Fry and Casey Reas probably never expected. I’ve seen Processing run on point-of-sale cash registers in a local coffee shop, and I’ve used it to design an app for my mobile phone. You can’t walk through a museum or public space without interacting with an installation that is running Processing. It’s everywhere once you know what to look for. Processing is one of those languages that’s easy to learn and just keeps going. It can do amazing things if you just dig in and start hacking it.

Now I must give a shout-out to Derek. To author a technical book is difficult. It takes intimate knowledge of how things work coupled with the language skills to express concepts in a way that readers can absorb. We call this interaction “teaching” and “learning,” and we often take it for granted. The SparkFun Guide to Processing is an excellent example of modern teaching. Through Derek’s writing and lessons, you will gain the knowledge you need to use Processing.

Once you open the box and master the tool, Processing can lead you to some truly awe-inspiring projects. I am constantly enjoying hair-raising experiences from artists, performers, and creators who have all used Processing to create their work. I hope you find inspiration in Derek’s amazing book to continue exploring the interaction between the digital and physical worlds. Where these worlds collide, humanity is improved and expanded.

But enough talking—let’s build some fun stuff!

NATHAN SEIDLE • FOUNDER OF SPARKFUN ELECTRONICS
BOULDER, COLORADO • JUNE 23, 2015

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.190.170