6 comments

[ 2.8 ms ] story [ 25.9 ms ] thread
I would love for you guys to poke holes in my logic as well as add to the discussion.
(comment deleted)
* 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.

* 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.

* 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 different browsers, let alone on different platforms.

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.

Thanks for the feedback.

* Yes code generators isn't a new thing. And this doesn't build what that app does unless it is just a straight business app. I wouldn't build an ad server or game engine with it but you could build the data in and out parts with it. This lets us programmers that do write C to write it and do less of the data shifting parts of the app.

* As for the different platforms you are correct as for different browsers that problem has beens solved for the most part. It isn't an easy problem to solve but I think we are at a place to solve it now where we were not make in the Visual Basic, UML Java days. They also didn't solve it in quite the same way.

I'm getting a lot of excitement and koolaid but not a lot of meat.

I'm going to look at this sideways.

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?

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.

You will end up needing to design an extensible visual language that intentionally doesn't rely upon words. This is going to be Hard.

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.

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.

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.

A lot of data manipulation is done in Excel, I'm having trouble envisioning an Excel interface that isn't text driven.

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.

All good points. I don't think we can take text out of it completely but I think we can take it farther then having to write classes and functions at least for 95% of what needs done.

As for GUI designers you might be right it was one of the last things I had thought about. They are hard to use sometimes but they could at least get you as far as wire framing and an idea of the UI.

As this is a big idea I am going to draw up some of my ideas and then make a short video, blog post, and maybe a small splash page.