This boarders on natural-language like algorithms. How would you structure a programming language, to get the most done, in the least amount code.
An idea that I thought of, was when browsing (and editing) wiki pages.
You would write code in a more or less natural way, then any syntax that is not understood by the machine is highlighted. The programmer then burrows down, filling in each word until the program is complete.
For example, here is the wiktionary definition of a circle.
The words " two-dimensional", "geometric figure", "set", "points" and "plane" are all highlighted, and link to their respective definitions.
Now ideally, the programmer could write "draw circle" and the computer would trace through the definitions of draw and circle until it met things it understood (presumably, a definition would be written in a low level language that a compiler would understand).
Ultimately, if the wiki was complete, programmers wouldn't need to write code (it would all be there) and would just need to describe the application.
Of course, it's not a simple as that. Various rules would need to be in pace to prevent recursive definitions, the language would need to be structured so that natural language programming is kept to a minimum etc. The idea would be that any time anyone uses the language, the wiki would necessarily grow, and would never shrink. It would be like a open source library, that gets added to every time anyone writes an application, while remaining intuitive enough to be learnt with minimum fuss (they would just have to learn the syntax).
What are other people's thoughts on approaches to high level languages?
Edited by KC LC, 29 January 2010 - 10:16 PM.
Fixed spelling error in title. If you can't spell "high level", I'm not sure there's much more to say.