P5.js – A library to make coding accessible for artists, designers, educators
p5js.org
p5js.org
Here is the live coding performance I did for the Algorave 10th birthday online 24h streaming where I used Hydra for visuals:
I had found this other cool project of yours from 2007 recently when looking into making generative music from generative art done with stable diffusion. Great stuff too!
Btw for music you can check my project Glicol as well. It may be useful as either an interface or an audio lib.
Then I actually read it and was still reasonably happy.
I never really touched processing or p5js, still I like the way Daniel introduces and teaches core programming concepts. Seems to be a great guy!
I had a lot of fun early in my own education following along with his guides. Coding Train looks like another great resource, thanks for sharing it.
I find it so fascinating that simple rules can result in complex behaviour and natural-looking patterns. I'm keeping a sketchbook with related Processing/WebGL graphics on my website[0] if anyone is interested :)
It got me into programming ~5 years ago, together with the Coding Train[1] YouTube channel
or read it online for free https://natureofcode.com/book/
I've used p5.js to make my nieces animated birthday notes.
There is a video series on the 2.0 (p5.js):
https://thecodingtrain.com/tracks/the-nature-of-code-2
github repo for version 2 of the books site (which doesn't appear to be live yet..) https://github.com/nature-of-code/book-website-2nd-edition
Dan Shiffman is pretty great at explaining and introducing things. Coding Train videos get kinda advanced, which is slightly at odds with the "kid" like graphics.
The processing foundation is the umbrella group for p5.js, processing and some other tools (android and python based).
Platform independent might be clearer. It’s Java.
The Java part of it is pretty well obfuscated/hidden, its much easier to install and get running than java for the most part.
What you do is, run the script, and then hit Command-S (at least on a mac), and it'll save a screenshot and an SVG into your downloads folder. You can then send the SVG to your plotter however it is you do that.
It doesn't require p5.js, but does play nicely with it. And you can use it with Typescript, too—although that's still rough around the edges.
"p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! p5.js is free and open-source because we believe software, and the tools to learn it, should be accessible to everyone.
Using the metaphor of a sketch, p5.js has a full set of drawing functionality. However, you’re not limited to your drawing canvas. You can think of your whole browser page as your sketch, including HTML5 objects for text, input, video, webcam, and sound."
Back when I was working in Processing a lot, I could probably have whipped up something decent in an easy weekend. If I wanted to have more complicated features like flood fill, cutting/moving regions etc, I might need an extra day to figure it out.
If all you want is a bare minimum scribbling lines in a limited palette, that could probably be done in a matter of minutes.
http://worrydream.com/#!/LearnableProgramming
I'm not saying he's right though I thought he had some good points
I do wonder if it succeeds more based on community than design though
From previous eras, maybe Flash, Visual Basic, QBasic and friends -- but they were nothing like Processing.
No real need for libraries, a huge batteries-included standard library. You can practically do rudimentary computer vision with a small subset of the builtins, all of which fit on a single monitor. It's pretty nuts.
The idea that they can't is a false (destructive) narrative. Especially given that those three groups in particular have an astronomically difficult time establishing a reliable adult income in their field.
There’s typically a complex set of arcane incantations necessary to get visuals, much less interactive ones…Processing really elevates an API for visual/interactive applications of coding, so things work out of the box.
Learning how to code on your own is an enormous waste of one's time, assuming you are an adult and need to use that time to support yourself.
I remember my Treehouse HTML/CSS course in 2014. It took me months to complete it while working full-time, and the end result was a completely static website that looked like it was from 1997. It was incredibly discouraging. I stuck with it because I had the interest, and later moved on to more fun things like interaction design.
Most people however will stop and move on, because it's hard to see the bigger picture if you have to learn every building block.
I don't think that "accessible" is the same as "possible". Yes, it's possible for artists, designers, and educators to learn programming in any environment. But "possible" is boolean—like Turing complete. "Accessible" is a more of gradient—are the kinds of things that you want to to do easy or hard? Is it a good environment for learning and exploration? Etc.
Maybe splitting it up by feature?