Eric Newcomer doubts that visual programming is viable. I disagree. Visual programming is usually conceived to be executable UML, which is a terrible concept. I’ve argued against visual programming in the past, pointing out that developers value information density and won’t embrace something that takes half a screen to express “a = (b == c) ? d : e”.
But I also just read a eulogy to Hypercard and not long ago I re-read Fielding’s REST thesis. Also, I’ve long advocated the concept that the spreadsheet is actually a class of computer programming language whose metaphor is so simple to grasp that its potential expressiveness is ignored. I’d argue that if you combined the hyperlink with the spreadsheet so that you could zoom “in” and “out” (essentially, a “cell” could present the results of /traverse to an entirely different spreadsheet) and provide facilities for creating GUIs (by, for instance, providing access to the .NET BCL), you’d be well on your way. If, in addition, intercell dependencies could be generated with mouse / pen gestures, I think you’d have an interesting system. Note that this theoretical hyperlinked spreadsheet language would be programmed using spreadsheet visual metaphors, but wouldn’t necessarily have to deliver a spreadsheet-like interface to the end user.
Incidentally, there was at least one compilable spreadsheet for DOS. As I recall, it came out in the late 80s and was a victim of the Windows Software Extinction Event.