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

Published by on Wednesday August 3, 2022

Last modified on October 26th, 2022 at 14:41

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 brief history of Processing and p5.js

unlisted Writings

Looking back at 2022

Writings

DEMO Festival 2022 was a blast

Writings

Creative Coding as a School of Thought

Projects Research Writings

What is Creative Coding?

Writings

Four essential Principles in any Programming Language

Tutorials unlisted Writings

Essential tips for designers who want to learn to code

unlisted Writings

Creative Coding as an Experience

Writings