The approaches about natural language programming are describe here…
**Approach #1: Brute Force Crowd Source. This is the method used in Amazon’s ALEXA, Apple’s SIRI, Wolfram’s ALPHA, Microsoft’s CORTANA, Google’s HOME, etc. In all these cases, a programmer imagines a question or command that a user will give the machine, and then he writes specific code to answer that specific question (“Alexa, what is the temperature outside?”) or carry out that particular command (“Alexa, turn on the living room lights”). Get enough imaginative programmers to write enough routines, et voila! Apparently Intelligent machines that actually exist and work and learn and grow, today. **
Approach #2: Dynamically-Generated-User-Tweaked code. This is essentially describe here…
**If the programmer is happy with the generated code, (s)he can approve of it and it needn’t be saved because it will generate correctly each time before compiling - a label would be attached to the high-level NLP program to tell the compiler that it compiles correctly. If the generated code isn’t right though (or isn’t complete), that label will not be attached to the NLP code and the support code will need to be saved as part of the program instead. Some of that support code could still be auto-generated initially, creating the loop and setting up the count, for example, while leaving the programmer to fill in the content of the loop manually. **
Approach #3 is the one where you build AGI first so that it can solve all the programming problems itself.
Maybe I will find other people who is trying to create the natural language programming or human-language-level programming.
David Cooper is interested in natural-language programming. The Graham Nelson, the creator of the Inform system (http://inform7.com/) is interested in natural-language programming. Pablo, who developed the SAL (the Spanish/English version of the Plain English Programming (https://forums.anandtech.com/threads/natural-language-programming-english-and-or-español.2559516/) is interested in natural-language programming. Generally speaking, maybe you’ll find that people “brought up” in the C-language tradition are less amenable to the idea of natural language programming than people “brought up” in the BASIC/COBOL/Pascal tradition.
Brute-force natural language “understanding” is simple and yet has given us interesting and useful Apparent Intelligences like Amazon’s ALEXA, Apple’s SIRI, Wolfram’s ALPHA, Microsoft’s CORTANA and Google’s HOME. And Plain English programming.
Plain English Programming is a very good starting point.
Maybe the Plain English Programming is a better route to follow than the neural network approach, and anyone who follows it will likely get to AGI sooner (https://forum.osdev.org/viewtopic.php?p=282479#p282479). The neural net approach will create imperfect AGI which may be highly irrational. We’ll never be able to trust it. We need to design AGI where we understand every little bit of functionality contained in it, and that’s what my approach will provide. A development of Plain English Programming would do the same because it programs everything directly without training any imperfect nets.
Plain English Programming may be able to become full NLP if enough people interact with it and extend the range of phrases it can handle, so while it may only handle a subset of English today, that is not an inherent restriction on it. It can keep improving as people write code to support more words. For that reason, it is arguably not a step towards NLP because it arguably already is NLP. We will only find out when enough code is written to handle all words an all possible uses of them. Maybe it will run into difficulties with ambiguities, but little additions to the program could fix that. AGI will study Plain English Programming in the future to see what it could have done if the world had got behind it in 2006.
What are the Inform7 programmers’ statements about the approaches I quoted above?