Visual Programming Languages

There seem to be a growing number of visual programming languages available these days. Kodu (below) is for creating games by younger people. It’s “When"/Do” model is simple and easy to learn. It’s a bit limited though. It is really a domain specific language for games.

image

Scratch is also a visual language that is widely being used to teaching young people, especially in middle school but as old as college. I love it and it has some wider applicability. And a richer language to some degree than Kodu.

image

Alice is the big elephant in the room in terms of visual programming languages for teaching. But it too feels limited to its domain and development environment. Great for teaching/learning but no one is  going to program an accounts receivable package in it. BTW is it just me or does Scratch’s blogs look cooler and more fun than Alice’s blocks?

image

So here is the real question running through my mind – could a general purpose programming language be created that removes the syntax issues the way that Kodu, Scratch and Alice do? Why not? What would be the issues? And why has no one done this yet?

Comments

  • Anonymous
    July 07, 2010
    The comment has been removed

  • Anonymous
    July 07, 2010
    The comment has been removed

  • Anonymous
    July 07, 2010
    We are looking at scratch as a programming language for the 13-15 year olds, it is amazing what you can do with it. see code.google.com/.../scratch-unplugged which goes well with the what has been developed in new zealand and advertised on google http://csunplugged.org/ which introduced computer science to a younger audience. I for one plan on using this a lot.

  • Anonymous
    July 07, 2010
    You can also include CiMPLE - A VPL for robotics ...VPL are a layer of abstraction on top of programming languages. VPL as a DSL  is very effective in addressing and cataloguing the usage senarios. For general purpose language pictorial representation wouldn't cut it for sere amount of use cases/senarios one will have to cover.

  • Anonymous
    July 07, 2010
    Search the academic literature for end-user programming, and you'll find a litany of endeavors, some very creative. The spreadsheet is actually probably the most popular visual programming language.  The reason you don't see more general purpose is because there's the extra abstraction causes more mental tax.

  • Anonymous
    July 08, 2010
    What about LabVIEW? It's used a lot in academics and research.

  • Anonymous
    July 08, 2010
    The comment has been removed

  • Anonymous
    July 08, 2010
    Scratch BYOB attempts to be a general-purpose version of Scratch (http://byob.berkeley.edu/) and the Squeak drag and drop interface and Etoys also enable a broad range of applications.   I think the sacrifice in usability and friendliness is too significant, though, and wouldn't use any of those to teach or for my own use.  I feel like once students have mastered a certain level of complexity it makes more sense to move to typing things out.