Date: | Tue, 28 Mar 2017 11:40:03 -0700 |
From: | Paula Te |
Subject: | Re: Logic Circuit Jam |
I pulled out batteries, pipe cleaners, etc in an attempt to figure out something that would work with physical objects. But the question popped up - are the wires and batteries "real" in that there's real charge going through, or are they just symbols for things that will be interpreted by Realtalk? I think we'd want to be able to turn any physical object easily into a symbol that Realtalk understands, maybe by placing a framecode around it, like La Tabla's animation program simply captures any physical object that's in a frame.
Wires also feel good to manipulate as physical objects in the real world, but maybe there are better affordances to drawing out the wires on a whiteboard or with a marker.
I also brought out tater tot as a physical object that could move around on the table and follow lines. Tater is slow, but it would be interesting to use a bot as a token to represent moving charge.
Things that I noticed from the jam are:
Paula
Also wanted to mention -- one of the most exciting parts of the jam for me was watching all the demos and thinking "people could do it any of these ways, and they would all work". With a sufficiently good set of pre-built recognizers and sufficiently good ways of defining rules, someone could come in and build a working logic circuit kit in Toby-style or Paula-style or Josh-style or Bret-style. They're all different, and they're all fine.When designing a typical programming system, there's often a feeling of a strong "grain" -- there's some "right" way of writing a program that feels most natural in the language, and you're designing the language to try to maximize the elegance/parsimoniousness of a program written the "right" way. At the jam today, I enjoyed the feeling that our system wouldn't be strongly grained at all. The real world has so many degrees of freedom, there are so many ways of doing anything in the real world. Realtalk should be useful however anyone wants to use it, instead of imposing its own style on anyone.(fwiw, it's true that I used to worship Larry Wall, but that was a long time ago and I'm embarrassed by that.)(fwiw also, Python has never sat well with me.)Of course, there's the question of interoperability -- if I put my logic gates on a table with Toby's gates, can they play together? Could they be made to play together?(At least they can sit on the same table together, which is already better than logic gates from two different computer applications.)