I find this extremely interesting! In the last weeks one of my colleagues had to work to some legacy application that was developed using National Instrument's LabView [1]. For those who do not know it, it is a visual language to develop interfaces to scientific instruments. Everything is done visually, including «if»s and «for» loops.
My colleague, which has large experience with languages like C# and Assembly, is extremely frustrated by this way of working. Everything must be done using a mouse, and even the simplest tasks require some thought in order to be implemented properly. (Although I must say that he praises LabView's hardware support and its Visual Basic-like easiness in developing GUIs.)
I find Racket's 2D syntax to be far more promising than LabView's approach:
1. You can code it using a text editor: unlike LabView, no mouse is required;
2. Only a few classes of statements are affected by this (LabView forces you to do everything visually, even function definitions and mathematical operations);
3. You use this feature only if you think it helps; otherwise, plain text syntax is always available.
As a side note, I would like to give kudos to the Racket developers for this kind of gems. Racket really seems to be a language which makes language experiments easy to implement and try!
My colleague, which has large experience with languages like C# and Assembly, is extremely frustrated by this way of working. Everything must be done using a mouse, and even the simplest tasks require some thought in order to be implemented properly. (Although I must say that he praises LabView's hardware support and its Visual Basic-like easiness in developing GUIs.)
I find Racket's 2D syntax to be far more promising than LabView's approach:
1. You can code it using a text editor: unlike LabView, no mouse is required;
2. Only a few classes of statements are affected by this (LabView forces you to do everything visually, even function definitions and mathematical operations);
3. You use this feature only if you think it helps; otherwise, plain text syntax is always available.
As a side note, I would like to give kudos to the Racket developers for this kind of gems. Racket really seems to be a language which makes language experiments easy to implement and try!
[1] http://www.ni.com/en-us/shop/labview.html