[Edu-sig] Visual Programming in Python?

dblank at brynmawr.edu dblank at brynmawr.edu
Sat Apr 15 22:29:13 CEST 2006

>> > On 4/15/06, kirby urner <kirby.urner at gmail.com> wrote:
>> > > Given Python is so OO, my first concern would be whether this
>> > > flowchart-driven system would push us back to a more loopy/blocky
>> > > procedural style.  I'd like to see what this would look like on
>> paper
>> > > before I was persuaded it was a worthwhile undertaking -- not that
>> I'm
>> > > any kind of gatekeeper or funder in this regard, so pay no
>> attention.

When I asked about such a visual programming project for Python, I was
just thinking out loud, too. So, this discussion is in exactly the right
spirit: what are the pros/cons? how hard would it be? would it help/hurt?

>> I think we *could* imagine a graphical language that was OO, but the
>> original description a few posts back didn't seem to accommodate that.
>>  It's not trivial.  What happens when you clone 30 objects of the same
>> type and each has state or is responsive to events.  I've used Lego
>> Mindstorms and although it's graphical, I found it more procedural
>> than trully OO.

I didn't mention anything about instantiated objects, nor objects at all.
But I would imagine that a successful project could show not only the flow
of a procedure, but also capture the interactions between instantiated
objects. I imagine (maybe) a window for each class, and page of a form for
each method. Other windows might show a timeline of events and current
objects and their interactions.

> OK, well I haven't actually used the Mindstorms software (doesn't run
> on a Mac), so maybe that was a bad example.  And the description on
> this list was more about flowchart-type programming.  I guess I'm
> biased by using things like Interface Builder, which does exactly what
> you mention above: Clone (well, instantiate) the objects and give you
> access to their state, let you drag them around and wire them
> together.  Pure Data[1] lets you visually wire together objects, and I
> think Processing[2] does as well (could be wrong here, haven't played
> with it for awhile).  So it is possible.
> [1] http://puredata.info/
> [2] http://www.processing.org/

I'll check these out; thanks.


>> Making the visual <-> source relationship fully "round trip" as the
>> original poster suggested, e.g. you could parse the source and create
>> a graphical version as a result, seems HIGHLY problematic.  The visual
>> environments I know about and use on the job don't really advertise
>> that.
> Yes, any time you convert from one format to another you tend to add
> or remove data (or both).  Either way, it's hard to round-trip.
> Capturing the intent of the data without 100% fidelity is more
> achievable.

I think that this round-trip ability would be required to make it useful
to the growing Python community, and toolbox. That way, people see,
literally, how making a graphical box in one place matches up exactly with
code in a program. DBASE IV, I think it was, did this very well---they had
a graphical editing system for forms, but the form was stored as pure
DBASE code. Foxpro, on the other hand, stored their forms in tables. (I
mention these because Kirby and I both worked in Foxpro for a few years.)
I don't think it would be that hard to do round-trip for Python.


> --Dethe
>> Kirby
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig

More information about the Edu-sig mailing list