Hacker News new | ask | show | jobs
by jmclean 4397 days ago
I do! I have some sketches that I drew up a while back. It's sort of a loose collection of thoughts, though this is inspiring me to think about it with more rigor :)

I imagine it as a combination of an abstraction layer on top of processing and a light IDE. Something like a palette of shapes and objects similar to what's available in photoshop and illustrator. Instead of drawing shapes, though, it would create code snippets for the various objects.

Those objects would be available to modify in an event loop similar to Processing (or Arduino, for that matter). With a strong autocomplete for both object names and the available manipulations for those objects, I feel like you could learn just by playing around.

Live preview like Swift /light table etc would be really powerful. Out of the box support for common things like collision detection would be great too. Color pickers that spit out rgba values? Maybe. Basically a tool palette oriented around building code for visuals.

In terms of the language itself, it probably veers more into personal taste. I'd love to see names of things be less arcane /abbreviated. Dropping some of the brackets and parens would be nice for non programmers too. (Again, taste.) Ruby-like syntax for new objects instead of objective-C-like constructors would be more readable. Basically, the more it could just resemble an English description of what you want to happen, the better.

Processing isn't that far away from this description, but the combination of having to refer to the documentation constantly, no sensible defaults, almost limitless customizability, and having to actually compile the sketch to run means that the initial barrier is really high. It's very difficult to get into flow until you reach a high level of familiarity with the language.

I would love to chat about this further and share ideas with you or anyone who's interested!

2 comments

It seems there's no way to send private messages here at Y Combinator. Send me a mean of contact to twaway00 at gmail if you wish to continue conversation.
You realize that to build such a tool you would really need to develop high level of programming skills, right? ;-)