Processing or p5.js – Which is the better language for beginners?

Published by Tim on Wednesday August 3, 2022

Last modified on January 25th, 2024 at 14:06

The range of Creative Coding languages and frameworks is enormous and often confusing at the beginning. With this blogpost I try to clarify what is important when choosing a programming language for Creative Coding at the beginning of the learning process.

How to drive a car?

Imagine you are at a driving school and you want to learn how to drive a car. The driving instructor offers you different models: There is a van from Volkswagen, a BMW and a Jeep. Basically all vehicles are the same, they have exactly 4 wheels, a steering wheel, four seats, a trunk and an engine. And now you are supposed to decide which one you will use to practice driving. Imagine that there is a different driving instructor in each of the cars and that each of them tries to convince you why his/her/their car is the better one. Maybe the Jeep has all-wheel drive, the Volkswagen is a Kombi and has a bit more extra storage space, and the BMW has the most horsepower. And each of the driving instructors argues for their car. What goes through your mind? Isn’t this a completely absurd situation?

© Ewan Jones Morris

I mean, it’s about learning how to shift, brake, and park, and that’s certainly a little bit different in every kind of car. But on the whole, the decision is simple: take one of the cars and drive it until you know how to do it. Does it make sense to take a different car for every driving lesson? No, not at all, because especially in the beginning the small differences in steering, braking or the size of the car will make it harder for you to learn. As soon as you have your driver’s license, you can switch to another car at any time.

It’s much the same with a suitable programming language for Creative Coding and I’ve met many students who despaired of it. They simply couldn’t decide because they knew too little about the different languages. Many students then switched languages at the first frustrations, which made things much worse. The result: loss of motivation and resignation. Some never touched the subject again after that.

p5.js and Processing share the same principles

p5.js and Processing are very similar. The underlying principles are exactly the same, only the syntax, i.e. the way you formulate the code, differs slightly.

p5.js is based on Javascript and is ideal for developing web applications that can be hosted on a web server and thus shared with the whole world on the internet. However, from my point of view, this also makes things a bit more complicated, as many questions arise here that distract from the most important learning steps right at the beginning. I myself consider it particularly important to understand four fundamental principles in programming languages:

variableshow to store little pieces of information in the memory
loopshow to repeat a specific task repeatively
conditional statementshow to make decisions in code
functionshow to encapsulate code into reusable components

These are found in almost all programming languages. Furthermore, there are principles in Creative Coding languages that I think are extremely important and play an important role in p5.js as well as Processing:

drawhow a draw-loop actually works
geometryhow to display geometric shapes on the screen
matrixhow to position elements on the screen appropriately
randomnesshow to teach the computer to make its own decisions
waveshow to use sine waves to control motion sequences
distributionhow to distribute multiple elements properly using for-loops
2D and 3Dhow to make use of the right renderer

Connection is crucial for your motivation

The most important point that is crucial for your success in the learning process is your motivation. It depends a lot on what environment you feel comfortable in. There are online communities, local meetups, college courses, and many other ways to network with learners. In my view, nothing is more important than connecting with others, discussing your results, perhaps finding a mentor or learning group to and online courses that you enjoy learning with, that are inspiring and fun. Once you find that, you’ll have a solid foundation for learning success.

Related

A reflection on Processing Community Day Copenhagen 2023

I’ve been travelling a lot in the last few months. Still, it was only during a short stay in Copenhagen […]

What Creative Coding can teach you beyond crafting visuals

Learning to code has had a bad reputation for ages. Many people have the impression that it’s all about acquiring […]

How I built myself a Digital Garden

It was a red hot day in July 2023 when I met Alex Muñoz for breakfast in the morning at […]

Digital Impact @ Disseny Hub

A few days ago, I visited the Disseny Hub in Barcelona to see the exhibition “Digital Impact”. On the website, […]

Demystify Technology – A kind of Manifesto

A Fortunate Look into the Spam Folder When I opened my email program on an ordinary workday in the morning […]

Thoughts on Artificial Intelligence

Photo: Vyběr Socky What a ride! I’m sitting in the room of a luxury hotel in Prague, once again packing […]

Gedanken über Künstliche Intelligenz

Photo: Vyběr Socky Was ein Ritt! Ich sitze im Zimmer eines Prager Luxushotels und packe wieder einmal diesen Koffer, aus […]

On Systems

From Martin Lorenz I got into lots of exciting literature about systems. One might think that this is a totally […]