Click here to Skip to main content
14,490,398 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
stheller230-Oct-19 4:27
Memberstheller230-Oct-19 4:27 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
StatementTerminator30-Oct-19 5:15
MemberStatementTerminator30-Oct-19 5:15 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
sasadler30-Oct-19 7:33
Membersasadler30-Oct-19 7:33 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
Patrick Fox30-Oct-19 7:54
MemberPatrick Fox30-Oct-19 7:54 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
Member 1408448830-Oct-19 8:12
MemberMember 1408448830-Oct-19 8:12 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
Michael Breeden31-Oct-19 6:38
MemberMichael Breeden31-Oct-19 6:38 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
DerekT-P31-Oct-19 7:59
professionalDerekT-P31-Oct-19 7:59 
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
Quantum Robin31-Oct-19 10:48
MemberQuantum Robin31-Oct-19 10:48 
Programming languages will end up being increasingly high-level until they become identical to natural language. You will eventually be able to write all your programs in English, Portuguese, or any other natural language, although you will also be able to mix that with instructions of the kind used in today's programming languages whenever you think that's more efficient or clearer.

An intelligent compiler will ask for clarification whenever there's an ambiguity and may suggest improved wordings to resolve the issue. Writing a program will end up being a conversation with an intelligent machine which anyone could handle even if they know nothing about programming - it will be a collaboration with an intelligent system which is in itself an expert programmer. The error messages will be comments and questions just like the ones you'd get if you were co-writing a program with a human programmer. ("When you say "print the result of that part", do you mean this part [a section of the code is highlighted], and do you want it printed to the screen or the printer?")

None of that will stop you putting in a line of C or any other programming language if you want to, but most of the work will simply be done in natural language, typically at a much higher level with the compiler working out how to carry out the tasks asked of it. The end user will also become a programmer, telling the machine how (s)he would prefer things to be done, and the machine will comply. That will rarely be done through anything other than natural language.

AGI = artificial general intelligence

A general intelligence is a more powerful kind of intelligence than a specialised intelligence which can only handle limited tasks. A general intelligence can learn to handle any task. Humans are the only things we currently know of which have general intelligence, and because that's natural intelligence, humans are NGI (natural general intelligence).

NLP = natural language programming

NLP can also be used to mean natural language processing though. This kind of NLP is part of what is needed to support the other kind of NLP because you can't have natural language programming if you can't process natural language.

The AGI system will give you what you most likely want and will then adjust any aspects of it which you aren't happy with. It will not drag you through a menu of all possible options item by item, but will wait instead until you ask for the button to behave in a particular way. The aim is to use artificial general intelligence.

User: Make a button for that.

[Button appears.]

User: A bit bigger, and make it green.

[Button grows bigger and turns green.]

User: Put it here.

[Button moves to the correct location.]

...

(Some time later):-

User: When the cursor's on this button, turn it blue.

[Button turns blue. (AGI system knows that that's more likely what's wanted than turning the cursor blue.)]

User: Make its corners rounded.

[Button changes shape (and retains new shape even when cursor is moved away).]

Etc.

Plain English Programming may be able to become full NLP (natural language programming) 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 (natural language programming) because it arguably already is NLP (natural language programming). We will only find out when enough code is written to handle all words an all possible uses of them. I think it will run into difficulties with ambiguities, but little additions to the program could fix that. AGI (artificial general intelligence) will study PEP (Plain English Programming) in the future to see what it could have done if the world had got behind it in 2006.

Approach #1: Brute Force Crowd Source. It 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 what I 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 (Natural Language Programming) 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 (Natural Language Programming) 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 #2 is an optional intermediate step towards approach #3. Approach #3 is the one where you build AGI (artificial general intelligence) first so that it can solve all the programming problems itself. The idea is that instead of the human writing the difficult bits of code to complete a program, the human teaches the AGI (artificial general intelligence) how to write the difficult bits of code so that it won't need help with the same kind of problem the next time. It's all about giving the AGI (artificial general intelligence) system more and more problem-solving skills until it can do as good a job as the best human programmers.
GeneralRe: Will future programmers probably warn people not to use anything other than natural language just as most programmers today warn people not to use assembler? Pin
Quantum Robin1-Nov-19 14:44
MemberQuantum Robin1-Nov-19 14:44 
GeneralI was listen to this... Pin
0x01AA28-Oct-19 9:22
professional0x01AA28-Oct-19 9:22 
PraiseRe: I was listen to this... Pin
Eddy Vluggen28-Oct-19 9:51
professionalEddy Vluggen28-Oct-19 9:51 
GeneralRe: I was listen to this... Pin
0x01AA28-Oct-19 10:27
professional0x01AA28-Oct-19 10:27 
PraiseRe: I was listen to this... Pin
RickZeeland28-Oct-19 10:56
mveRickZeeland28-Oct-19 10:56 
GeneralRe: I was listen to this... Pin
Ravi Bhavnani28-Oct-19 14:56
professionalRavi Bhavnani28-Oct-19 14:56 
GeneralRe: I was listen to this... Pin
PIEBALDconsult28-Oct-19 12:54
professionalPIEBALDconsult28-Oct-19 12:54 
QuestionRe: I was listen to this... Pin
RickZeeland28-Oct-19 20:54
mveRickZeeland28-Oct-19 20:54 
AnswerRe: I was listen to this... Pin
Sander Rossel29-Oct-19 0:31
professionalSander Rossel29-Oct-19 0:31 
GeneralRe: I was listen to this... Pin
Ravi Bhavnani28-Oct-19 14:55
professionalRavi Bhavnani28-Oct-19 14:55 
GeneralRe: I was listen to this... Pin
0x01AA29-Oct-19 8:25
professional0x01AA29-Oct-19 8:25 
GeneralRe: I was listen to this... Pin
Sander Rossel29-Oct-19 0:31
professionalSander Rossel29-Oct-19 0:31 
GeneralRe: I was listen to this... Pin
Marc Clifton29-Oct-19 2:48
mvaMarc Clifton29-Oct-19 2:48 
GeneralRe: I was listen to this... Pin
0x01AA29-Oct-19 8:27
professional0x01AA29-Oct-19 8:27 
GeneralI was sent this, and... Pin
OriginalGriff28-Oct-19 7:46
mveOriginalGriff28-Oct-19 7:46 
GeneralRe: I was sent this, and... Pin
Greg Utas28-Oct-19 7:59
professionalGreg Utas28-Oct-19 7:59 
GeneralRe: I was sent this, and... Pin
  Forogar  28-Oct-19 8:09
professional  Forogar  28-Oct-19 8:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.