Processing and P5 got newbies into coding
clivethompson.medium.com
clivethompson.medium.com
* Terrific official documentation (not just API docs but plenty of high quality examples and tutorials that are beginner-friendly without being stupid or patronizing)
* A couple great books (Nature of Code)
* Some great third party tutorials as well: https://funprogramming.org/
* Dead simple to get running; dead simple to start getting nice animations on screen; small and focused API; hot reloading
* Inspiring community filled with intelligent, creative people at the intersection of the arts and academia
Do you have a reference? I wasn't aware that Processing had this feature.
https://processing.org/environment/#:~:text=Runs%20the%20cod....
Book is very costly, though.
the p5.js has an account system and an online editor, which is fun to play around with, but not needed. Its got fun interactive examples too:https://processing.org/examples
I stumbled across it when someone left Dan Shiffman's book "the nature of code" on our buildings swap table. https://natureofcode.com/
Dan has a youtube channel. Its kinda a weird mix of children's themes and advance math. The tutorials are great however.
I forgot all the details of the history of the name, but the original name was Proce55ing, pronounced as processing.
P5.js and Coding Train are very complementary.
Then there is also the famous Bret Victor article: http://worrydream.com/LearnableProgramming/
That said, I still really admire what they did and how extremely influential it has been. Just a small thing like how the the Processing IDE was forked to create the Arduino IDE attests to how Processing continues to reverberate throughout history.
Processing brought back the feelings that initially got me into programming: the sense of being able to do create anything.
I share my works here btw; https://instagram.com/asfandyar.codeart
This really is a great goal. I love processing for this reason. Also Arduino - it’s the hardware version of the same thing. Same goes for ShaderToy. And I kinda consider Python to almost be a language equivalent of this goal (even though there are lots of decidedly simpler & easier languages).
But I feel like this telling of the story is leaving out the lineage and inspirations of this idea, since it long predates Processing, and there a lot of notable milestones. Logo was founded on the same concept, and I got some of the same thrill from making pictures quickly back when I was a kid. It was so much easier to get something interesting done compared to almost any other language / environment.
I’d love to hear what people consider other meaningful versions of this, before and after Logo. I’m curious if environments like DrawBot and NodeBox, which started around the same time that Processing did, share direct connections, or only share inspirations.
*I believe my issue was it never built up the mental model of OpenGL to the point that I couldn't comprehend the difference between a VAO and VBO. [1]
1. https://www.khronos.org/opengl/wiki/Tutorial2:_VAOs,_VBOs,_V...
Not everything needs to be optimized to the maximum these days, with computers being so fast, and oftentimes inefficient code is fine for just playing around. In your example of graphics APIs, the barrier to entry has gotten much higher with programmable GPUs if one wants to use APIs such as OpenGL, D3D, or Vulkan. It used to be that one could just draw polygons on the screen with C code that would fit in a single page using GLFW, OpenGL immediate mode, and the fixed function pipeline.
Hilariously enough, you can see the difference between the deprecated immediate mode API (8 function calls) and the "recommended" way on this Stack overflow answer (fragment and vertex shaders, a few buffers, and way more code): https://stackoverflow.com/questions/6733934/what-does-immedi...
On the other hand, if all you want is to draw things for fun and you're not trying to write a AAA video game, a scene graph-style API or interactive environments like processing are much better fits, as you point out.
i dropped out of university out of disgust with the industry and did nothing for about a decade. but art coding was just the best option in lockdown, when i was injured and couldn't go outside much, and the only other option was staring at the nightmare rectangle.
thanks processing. i still hate the industry though. not sure what i'm gonna do about that.
I always enjoy doing short time no support things like game jams and random one off projects where you have a focused tasks on a limited schedule more than sprawling professional type projects. Besides, the first game jam game I ever made was in processing
Used to be you could copy and paste code that would run on desktop (Processing), browser (processing.js) and mobile (Processing for Android) and it would just work.
I do understand why P5 is important, though, with the popularity of JavaScript.
It avoids a lot of the weirdness that processing has in its relation with Java and meets somewhere between that and open frameworks.
Great to check out if you've been looking for a playground to get familiar with Kotlin too!
it makes me tear my hair out for the thing it lacks: a path to a production-worthy version. It encourages bad programming practices for the sake of simplicity (all tabs share a single namespace; global variables everywhere) which all but guarantee that once a sketch has reached a certain level of complexity it's a tangled mess of spaghetti.
Refactoring it at that point is A) challenging, and B) changes the api so much that the poor non-coder who's asked you to fix their broken code hates the new restrictions.
This is my small contribution to help with this situation: https://vimeo.com/channels/p5idea Still much to do :-)
Back when I was starting school and learning programming I also picked up an Arduino Duemilanove and learned Wiring and Processing which went together like peanut butter and jam. What an amazing time. I recall getting some of my processing apps to run on my Sony Erricson phone as they once had a way to convert the Processing sketches to a Java Mobile Edition apps (back before Andriod was widespread)
Back in the days, Processing was the only game in town and then P5 built on that reputation.
I found the programming model of these solutions to be rather convulted and think D3 would lead to a much better entry into coding.
https://puredata.info/downloads/gem/documentation/manual/pub...
Also, vvvv had its public release in 2002. TouchDesigner was released in 2008.
Although I do like Processing, I am surprised these visual languages haven't caught on as much as Processing.
I remember Macromedia charging students about fifty bucks for Flash in the early 2000s, but memory can be unreliable. Skimming through the Wayback Machine, I see it going for about twice that at my alma mater.
I heard of Processing around 2007, and I loved that it was free, but I never really got into it. It felt academic, in a way, and it still does apart from p5.js. I don't mean "educational" or "scholastic", like Scratch or Mindstorms NXT. I mean that in the 2000s, Processing had a branding that reminded me of textbooks and whiteboards. It was cool the way the smart guy was cool in NUMB3RS. So taking up Processing after a couple years of Flash felt like ditching a wacky friend to go see a tutor.
Since then it's become a more welcoming and accessible thing, and I'm glad it has.
Of course big "serious" flash projects would be more organized in how stuff happened but I think that Flash's success was from being this animation/drawing/moving making tool where you could add scripts, instead of this dynamic programming environment.
"Make this movie interactive" has always been a bit easier than "make these words turn into drawings".
I had a coworker in 2008/09 who studied at a macromedia university, and they were doing basically everything with Flash there.
Sad story.
The job he got with us didn't have anything to do with design, let alone Flash. He worked at the company for a few years and switched later, to do something that aligned more with his love for Flash, and then Apple killed it right away.