The first edition of this book played such a huge role in me learning to program, and thus set the stage for (likely) the rest of my life. Daniel Shiffman has probably had that influence on many, many, many people. To this day, I recommend p5.js as a starting place for learning programming, and then picking up The Nature of Code once all the basics make sense and the newly-minted programmer is ready for some bigger challenges.
Very excited to own a physical copy of this new edition to always warmly look back on! :)
Any thoughts on what role creative coding plays in the overall software engineering field? Is it done for recreation and art? Do people use it to create and sell products as well?
I love watching and working through The Coding Train videos! One reason why I haven't gone deep into creative coding is I don't know where I'll use it.
I use it for making art! Specifically static, 2D “paintings”
I guess mainly recreation and, particularly, teaching.
Designing and building effective data visualizations is a pretty large practical application.
Technical Artist would be the primary role. ShaderToy and other such resources for shader programming. Extremely creative field.
Google has a Creative Lab which employs a handful of creative coders who primarily work with emerging tech on experimental projects. They also offer a one year paid fellowship to young grads to join their labs in either NY or London: https://www.creativelab5.com/
Creative coding is everywhere these days. From the parametric architecture of Zaha Hadid and MAD architects to procedurally generated furniture designs and jewelry. https://n-e-r-v-o-u-s.com/projects/
While I don’t use the term, it’s applicable to what I do as a career. I like to say I make installations, objects, and experiences with complex inner lives. Sometimes I add the word ‘digital’ in there. Many who do what I do describe themselves as ‘creative technologists’ because code is but one part alongside experience design, art direction, fabrication, systems design, and electrical engineering.
I read his "learning processing" many years ago. It was the book that made programming made sense to me. The explanations are excellent, the outcomes interesting and it helped me to see why object orientation makes sense after fruitless attempts of understanding it using examples of different types of cars that print "wrooom wroom" to the terminal.