Something struck me about the visual programming language used here after looking at it for a few minutes: it's Lisp.
It doesn't have parens, of course, and sometimes the blanks on the blocks are positioned so that arithmetic appears to be infix, but it's most certainly Lisp. It would be trivial to create a 1:1 mapping between the visual representations and s-expressions. My guess is that behind the scenes, that's exactly what's going on.
The visual editor builds on Scratch which is somewhere between Logo and Smalltalk. The compiler is based on Scheme.
From the article:
"The blocks editor uses the Open Blocks Java library for creating visual blocks programming languages. ... Open Blocks visual programming is closely related to the Scratch programming language, a project of the MIT Media Laboratory's Lifelong Kindergarten Group...
The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework and Kawa's dialect of the Scheme programming language..."
Comments
Something struck me about the visual programming language used here after looking at it for a few minutes: it's Lisp.
It doesn't have parens, of course, and sometimes the blanks on the blocks are positioned so that arithmetic appears to be infix, but it's most certainly Lisp. It would be trivial to create a 1:1 mapping between the visual representations and s-expressions. My guess is that behind the scenes, that's exactly what's going on.
After this realization, I noticed that Hal Abelson is involved in the project: http://googleresearch.blogspot.com/2009/07/app-inventor-for-...
The visual editor builds on Scratch which is somewhere between Logo and Smalltalk. The compiler is based on Scheme.
From the article:
"The blocks editor uses the Open Blocks Java library for creating visual blocks programming languages. ... Open Blocks visual programming is closely related to the Scratch programming language, a project of the MIT Media Laboratory's Lifelong Kindergarten Group...
The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework and Kawa's dialect of the Scheme programming language..."
Language overviews:
http://progopedia.com/language/scratch/
http://www.gnu.org/software/kawa/Features.html