* You mean like Visual Basic? Or like the musical instrument Reaktor? Or UML based java code generators? There are many other examples, just not on the top of my head.<p>* I don't think you grok quite how intricate software has to be, in order to work and be performant. Unavoidable overhead builds as you climb up the abstraction levels, and make your code more general purpose. There's a reason that C is still pretty much everywhere - it's as close to the metal as you can get, without being entirely unhuman friendly: in other words, the diametric opposite of what you are suggesting. That's not to suggest that another abstraction layer isn't welcome necessarily, but that it's alway going to be a compromise between ease of use and performance.<p>* By suggesting this could be a general purpose solution, with modules to export to different platforms, you have missed the fact that we have to hand write code to work in <i>different browsers</i>, let alone on different platforms.<p>Still if you can make a reasonable demo, sure, it would be paradigm shifting - because you will have found a way around the above, where others have not.
I'm getting a lot of excitement and koolaid but not a lot of meat.<p>I'm going to look at this sideways.<p>Every spoken and written language aims to communicate, how will this communicate precisely to both the computer and future reader/maintainer? How long will it take a future reader to learn the language before they grok it? What will be good design patterns in this new language?<p>The amount of information encoded in each bit varies by language. Spanish for example has a lower density then English. Most modern high level programming languages have an informational density that puts English to shame. How are you going to visually match the information density of a computer screen without relying upon text to do the heavy lifting? Nobody like to have to scroll.<p>You will end up needing to design an extensible visual language that intentionally doesn't rely upon words. This is going to be Hard.<p>As to good looking adaptive GUIs, you are looking to solve a fundamentally human problem with a technical solution. It has been my experience that trying to do this just translates the problem without actually solving it. Look at Java, it has dynamic layout GUIs, they suck, they look terrible.<p>Fundamentally, all you are doing with this is replacing one set of tokens, with another set. You won't reduce the complexity of programs BUT you might manage to squirrel more of that complexity away into the languages API. As you say, there is no reason to have unnecessary code duplication.<p>Usability: How long will it take me to visually describe in your IDE the program I envision? If it can't keep up with my typing speed, its not worth it. I would need to be more productive in it than typing.<p>A lot of data manipulation is done in Excel, I'm having trouble envisioning an Excel interface that isn't text driven.<p>When it comes to 3d modeling and vector graphics, there becomes a point where I'll open up the file in a text editor and make tweaks to it there and use the real editor as just a viewer.