-
MicroPython: Cool to hear you’re considering defaulting to it on the web!
-
API differences: I can appreciate choosing the “nouns and verbs” peg to hang things on. That said, AP CS A isn’t the most helpful source of inspiration for beginner API design. I taught that class for a couple of years–it’s not great as a first course. For a few counterexamples, Matplotlib’s pyplot mode, D3, Bokeh, and Processing/p5.js use nouns such as
arc(),circle(), andline(). The APIs generally feel cleaner. I’ve never seen the distinction between noun/verb trip up beginners learning to code in a visual context. It’s a good principle, but I’m not sure it’s relevant for that audience. -
API standards: What do you think about designing a py5-ish adapter in the spirit of Matplotlib’s pyplot mode? Here’s how they frame it:
“In general, we suggest using the OO style, particularly for complicated plots, and functions and scripts that are intended to be reused as part of a larger project. However, the pyplot style can be very convenient for quick interactive work.”
I don’t want to take @villares out of context, but his note about collaborating on a smaller set of tools resonates. The distinction between D3 and Processing is pretty clear to me. Sketching and existing packages less so.
@sampottinger is there a technical reason you couldn’t swap pygame for Processing? If not, I’d love to hear your thoughts on bridging desktop (Processing/py5) and web (p5.js) with Sketching. I work pretty closely with the p5.js maintainers, so I’m biased here. Some benefits to that approach are library ecosystems, community, and free 3D renderers. I’d totally sign up to work on that project.