Posts with «waterbear» label

Waterbear—a toolkit for drag-and-drop languages

Waterbear is a tool for creating drag-and-drop programming editors for programming languages (like Javascript) that weren’t designed for it.  It has implementations for Javascript and a small subset of C++ customized for Arduino programming.

I looked a little at the Arduino environment, and it looked like it might be an ok transition from Scratch programming (which Waterbear’s interface is modeled on) and programming the Arduino with a text-based editor, particularly for people who can’t type well.  Unfortunately, Waterbear is just a text editor—it does not appear to include the compilation, linking, download, and serial communication of the Arduino environment.  In this it does not include some of the best features of Scratch as a programming environment, where any block of code can be executed directly from the edit window.

I’m not knocking having an editor separate from the Arduino environment, mind you.  My son and I have both found the provided editor in the Arduino environment a bit uncomfortable, and usually use other text editors when we have more to change than one or two typos.  (I use emacs, he has used TextEdit, XCode, and TextWrangler.)

I don’t think that Waterbear will sweep the Arduino community, though.  The number of blocks needed to include substantial parts of the library is huge (at least with the current design), and Waterbear is not well set up for typed variables.  I believe (without strong evidence) that learning the syntax and using a text editor is not a major burden for Arduino programmers, once they have sufficient programming skills to be able to use the Arduino effectively.

The Scratch-like interface is great for a first introduction to programming, but programming the Arduino is not a good choice for that first introduction.  Waterbear might help, slightly, with making the transition from a Scratch-like editing interface to a test-based editing interface, but I don’t think it is worth the trouble.


Tagged: Arduino, drag-and-drop programming, programming, Waterbear