Seeking feedback: Python for creative coding

Hey @villares! Once again, I appreciate all of your input on this. Before we finished up, I did want to get your perspective on my editor mode proposal. When activated, it would turn this:

sketch.draw_ellipse(250, 250, 100, 100)

To simply:

draw_ellipse(250, 250, 100, 100)

It feels like it accomplishes a number of the goals:

  • For those taking this approach, students can draw with a single line of code so no import statement and no need to consume objects.
  • The mode is optional so teachers can choose when to introduce the concept of namespaces and objects within the context of their specific instruction.
  • It is, unfortunately, unavoidable that some functionality will require using an object but this isn’t dissimilar to files being an object in Python or even PImage in Processing.
  • The OOP interface is still maintained and the goals for nouns / verbs OOP are still respected. This also supports folks who are using Sketching outside an educational setting where their style guide / employer / community demands it.
  • Sketching’s documentation already acknowledges that users will need to consume objects but it explicitly makes it a goal that the library can be leveraged without requiring that users define their own classes

What do you think?

Finally, I don’t want to get too far into this but I just gently want to say that I work at a university and collaborate with lots of different kinds of academic groups with different backgrounds and skillsets. Even just in the last month, there’s been a project that lent itself better to D3 while another fit better in Processing. I think both were really successful and I think supported those different partners in the right way! Sometimes it’s also not my choice… I’ve been in situations where Processing couldn’t be used in production code because it violated style guides. So, I’m thankful that I have access to different approaches (pygame, processing, p5, d3, raphael, chartjs, straight to canvas, tk, etc) as different options better support different circumstances. I don’t feel like D3 existing hurts Processing for example but both are important for data visualization.

2 Likes