Suppose that in order to operate your computer all you had to do was talk to it ? Like Star Trek. That would be about the most intuitive you could get. Well ... forget it for now. It's a long way off. Just to get a computer to recognize your voice is extremely difficult. Getting it to understand what you say is a whole new order of problem.
Next best thing. Suppose you had about a hundred programmers sitting behind you and you just tell them what you want and they do it for you? That would be cool ... duh...huh, huh, huh.
It can be done . . . . . . . . . . . . . . . . . .Back in the early sixties I used to read Mad magazine a lot (because it was so sophisticated). They had a feature now and then where you'd have to pick one word or phrase from column A, one from column B, and one fwum cowum C. In this way you could assemble a funny statement related to the subject of the article (politics, movies, etc.). They were like Chinese restaurant menus.
I recall thinking at the time that there was something important about this format ... that it must have some specific use ... but what? Now I know what to use it for.
The Assembly InterfaceFirst, my congratulations to anyone who has thought of doing this before. I don't see this system in operation so I'm just assuming that it isn't and hasn't been on the drawing boards.
What I wish to bring your attention to is the interface between you and your computer.
There are graphical interfaces (GUI) and those "clunky" DOS interfaces (which aren't really clunky when you think of the speed with which a DOS program can load on a modern machine). Actually, GUI is the clunky one if your benchmark is speed. It now takes AOL about 2 minutes to load on my machine whereas a typical BBS (with which I have very limited experience) loads in ... you missed it ... it's already loaded.
By assembly interface I mean one which the user assembles for himself from a set of simple tools which are displayed in plain old everyday English.
Your initial startup screen looks like this:
Click on the question mark and you get something like this:
You create tool buttons (of any shape or color,etc.) by choosing permutations of selections from the columns according to the assembly protocols given at the bottom. Then you use them and throw them away ... or save them to file ... or drag them onto the "desktop". You don't ever look up any code and you never worry about mispelling or syntax.
A Little MathIf there are 5 columns (A,B,C,D,E) and each column has 6 possible choices then there are:
6x6=36 permutations for the protocols (A,B) or (A,D) or (B,D) etc.
Programmers have already reviewed every allowable permutation and written code for it, i.e. there is a tiny program installed on the computer for every allowed choice. It doesn't matter what code (machine language, compiled, interpreted ... Borland C++ Delphi Basic Pascal VBasic CGI HTML ... only the professional code generating programmer cares ... the user programmer never sees anything but English).
Now there would be modules containing columns of choices for different types of activities you do on a computer. This must be so because if an attempt is made to put everything in one big module you would get too many nonsense permutations for professionals programmers to sort through.
As in the following:
1,000 permutations for protocol ABC (10 in each column)
Thus, making twice as many selections available in each column increases the number of permutations eightfold. Clearly, there will be a lot more garbage in those 8000 than if we break it up into two modules. [ 2 x ABC(10) = 2000 permutations]
A user with no experience can construct his own:Interface from an OS module
Word processor from a WP module
Database from a DB module
Game from a GAM module(s)
Get into programming in a really big way right off the bat
Buy someone else's thing and use it as is, or ...
Modify it for his own purposes (a little more ambitious)
Obviously, modules could get really large and sophisticated. But if the user knows clearly what he wants to do, there is no impediment to that goal arrising from programming language. You know the language already ... it is English (or Hindu or Chinese or Spanish or French or ...).
The Big Picture HereTo do anything on the computer a newbie needs to:
Know how to read and write