Seeking feedback: Python for creative coding

Thanks @villares! I really appreciate you walking through this.

I apologize for taking more of your time but I’m curious if you have thoughts on some of the OOP-centric creative coding options that were developed for education? I’m thinking of Alice and stagecast (RIP) or even game maker? It seems they have had fairly good research-based outcomes. I’ve used some to some success.

I should acknowledge that I feel a little weird making the counter argument because I’ve been contributing to the Processing codebase for years and, specifically, did a lot of work on the preproc which enables Processing to put those methods into global namespace for Java mode. Anyway, I really respect and thank you for sharing your thoughts on this. I will chat with some colleagues who are helping guide the design of the API and make a final decision in a bit. All that said, I feel torn:

  • Similar to strings and files being objects in Python, many of Sketching’s methods return objects for things like images and joysticks as a necessary part of OOP patterns to achieve uniformity across web, desktop, notebook, etc so users would encounter objects fairly quickly regardless of if they are in global namespace.
  • Not that it should in any way dissuade its use in educational settings, I worry PEP8 discourages wildcard imports because it pollutes global namespace (“make it unclear which names are present in the namespace, confusing both readers and many automated tools”). So I’m not sure if my putting Sketching’s members there is compliant regardless of mechanism and the project will be going into some professional spaces where those criticisms could be more likely or could impact adoption. Perhaps this is avoidable if optional though.

Regardless, I know this is a bigger debate and I don’t think we will settle it here :sweat_smile: - I’ll leave that to College Board to fight over. I think the question for Sketching is how to balance its objectives and how it can be additive to the Python ecosystem that exists today. Thank you again very much for your time and thoughts! No matter what, I hope to get you that SVG support soon :smiley:

Happy New Year!

1 Like