views:

165

answers:

3

I'm interested in creating a visual programming language which can aid non-programmers(like children) to write simple programs, much like Labview or Simulink allows engineers to connect functional blocks together without the knowledge of how they are internally built. Is this called programming by demonstration? What are example applications? What would be an ideal platform which can allow me to do this(it can be a desktop or a web app)

+1  A: 

There is Scratch written by MIT which is much like what you are looking for.

http://scratch.mit.edu/

A: 

If you want to go ahead with this, the platform that I suggest is the one used to implement Scratch (which already does what you want, IMHO), which is Squeak Smalltalk. The Squeak environment was designed with visual programming explicitly in mind. It's free, and Smalltalk syntax can learned in half an hour. Learning the gigantic class library may take just a little longer.

anon
"Just?" Already in 1980 3/4 of the blue book was devoted to class libraries and 1/4 to the language. And how much bigger is the Squeak library? 10x? 100x?
Norman Ramsey
@Norman Ever heard of gentle sarcasm? The Squeak library is huge (or as I said in my answer, which you appear to have read in a hurry, "gigantic") and will take along time to get up to speed with, particularly when compares with the very simple ST syntax.
anon
@Neil: Indeed. I was intending to leave a comment saying only "Just?", but sadly this was under the character limit... brevity is, after all, the soul of wit :(
Norman Ramsey
Again, i'm not very interested what are the various VPLs out there and there pros/cons..but how you write one !! for example,I like Labview, but would love to know how they handle the async data-flow..
iceman
@iceman They use messages and threads. Some platforms, like Squeak, make this easier than others. Which programming languages are you familiar with?
anon
i'm familiar with c,java,python
iceman
+1  A: 

The adventure on which you are about to embark is the design and implementation of a visual programming language. I don't know of any good textbooks in this area, but there are an IEEE conference and refereed journal devoted to this field. Margaret Burnett of Oregon State University, who is a highly regarded authority, has assembled a bibliography on visual programming languages; I suggest you start there.

You might consider writing to Professor Burnett for advice. If you do, I hope you will report the results back here.

Norman Ramsey
Thanks for pointing it out..i'm trying to build it for a robotics application where people do not have to dive deep into Robotics APIs..Microsoft has one,but then...
iceman