Programming and Painting

For my day job, I teach Python and JavaScript programming to adult students. In my off times, I love to hang out with some awesomely creative and fun people. And there’s a lot that one group can learn from the other. Programs may look a bit more algorithmic and mathematical than oil paintings, but the similarities are actually a lot stronger than you might realize. Coding is art as much as it is science.

Possibly the most important thing to learn from painting is the technique of sketching. Before starting on the final version of a piece, an artist may draw out something in pencil, or (in digital art) using faint lines. The sketch doesn’t have to be correct - its purpose is to help visualize the resulting picture and guide the next stages of development.

In code, a sketch might consist of nothing more than a few stub functions, or not even that. Maybe it has a little bit of structure and a lot of console output (print calls and so on). Maybe it doesn’t even have a structure, it just plays around with the technologies you’re going to be using. Whatever it is, it’s the guiding lines that help you to find the next steps.

It’s certainly possible to build something without first sketching, but experienced artists will tell you how beneficial it can be. And in code, it’s the same: start with a throw-away junky version and you can save yourself hours of work. Commit the early work as a stub or sketch, then progressively build out from there, commit by commit, until you have a broadly-working program.

One of the best ways to connect with painters is via the internet. Next time you have a few spare moments, check out Twitch’s creative section and maybe visit a few of these amazing people:

Not only can you learn a lot from them, they’re just fun people to hang out with! All of them interact with their communities (well, apart from the late Bob Ross) and are pleasant places to spend time. Or you can go to my own stream to find other recommendations for fun people. See you on Twitch!