Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. 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?

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?

Scheduled Pinned Locked Moved The Lounge
tutorialjavadesignhardwareperformance
38 Posts 25 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G GuyThiebaut

    Exactly! How many times have you had a conversation with someone when they say "Next Friday..." and you have to define what they mean by the word "Next" or at least confirm by responding in kind adding "Friday next week..." only to find out that they mean "this" Friday. Or when someone uses the word "couple" to mean more than two. Natural language is by it's nature ambiguous and dependent on context.

    “That which can be asserted without evidence, can be dismissed without evidence.”

    ― Christopher Hitchens

    L Offline
    L Offline
    Leo56
    wrote on last edited by
    #18

    Wish I could give two up-votes for the Christopher Hitchens quote alone... ;)

    1 Reply Last reply
    0
    • N Nelek

      Daniel Pfeffer wrote:

      Apparently, humans do not like can't thinking logically. (at least the big %) :)

      FTFY

      M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

      J Offline
      J Offline
      Jorgen Andersson
      wrote on last edited by
      #19

      Humans are not logical. But we (most of us) are able to think logically, even though it takes a bit of effort for most people.

      Wrong is evil and must be defeated. - Jeff Ello

      N 1 Reply Last reply
      0
      • J Jorgen Andersson

        Humans are not logical. But we (most of us) are able to think logically, even though it takes a bit of effort for most people.

        Wrong is evil and must be defeated. - Jeff Ello

        N Offline
        N Offline
        Nelek
        wrote on last edited by
        #20

        We are the exception confirming the rule :rolleyes: :rolleyes:

        M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

        1 Reply Last reply
        0
        • D Dan Neely

          Ph'nglui mglw'nafh Osmosian R'lyeh wgah'nagl fhtagn. :-\

          Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

          R Offline
          R Offline
          Rage
          wrote on last edited by
          #21

          This answer is the most underrated here. Have an upvote for the mix of Ctuhlu and the hidden reference to the PEC (I won't write in plain text to avoid making advertisement for it).

          Do not escape reality : improve reality !

          1 Reply Last reply
          0
          • Q Quantum Robin

            Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

            H Offline
            H Offline
            Hooga Booga
            wrote on last edited by
            #22

            There's a distinct possibility we will get to natural language programming. Many of the comments above say that people don't think logically, and that is true. They will not sit down and dictate the entire operation of an application from A to Z flawlessly on their first attempt. The process will be necessarily iterative. Something like this: "Make a page that shows me my stock quotes and the weather." "Put the weather in the top right." "The weather should show the current temperature and the 24 hour forecast for my current location." "For the stocks, show the current trading price for Microsoft and Bill's Sweat Socks from the TSE" "Also show an up/down arrow for the four hour trend" This will take some work, but I don't think we're too far away.

            Outside of a dog, a book is a man's best friend; inside of a dog, it's too dark to read. -- Groucho Marx

            1 Reply Last reply
            0
            • G GuyThiebaut

              Exactly! How many times have you had a conversation with someone when they say "Next Friday..." and you have to define what they mean by the word "Next" or at least confirm by responding in kind adding "Friday next week..." only to find out that they mean "this" Friday. Or when someone uses the word "couple" to mean more than two. Natural language is by it's nature ambiguous and dependent on context.

              “That which can be asserted without evidence, can be dismissed without evidence.”

              ― Christopher Hitchens

              A Offline
              A Offline
              Alonso Quixano
              wrote on last edited by
              #23

              "hanging from the chandelier the man saw a spider" -- who is hanging on the chandelier?

              1 Reply Last reply
              0
              • Q Quantum Robin

                Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                S Offline
                S Offline
                stheller2
                wrote on last edited by
                #24

                Congratulations! You have just reinvented COBOL!

                1 Reply Last reply
                0
                • Q Quantum Robin

                  Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                  S Offline
                  S Offline
                  StatementTerminator
                  wrote on last edited by
                  #25

                  Natural language will never be used for programming, because natural language isn't suitable for strict logic. Otherwise, no one would have had to invent symbolic logic. Symbolic logic is the foundation of computing, it's no accident that Turing was a logician. You can't translate logic into natural language without introducing ambiguity, and it's worse trying to go the other way because you're starting with ambiguity.

                  1 Reply Last reply
                  0
                  • Q Quantum Robin

                    Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                    S Offline
                    S Offline
                    sasadler
                    wrote on last edited by
                    #26

                    No, not in the near term. American English is way too imprecise to be used as a 'reliable' programing language. Way too many opportunities for misinterpretation.

                    1 Reply Last reply
                    0
                    • Q Quantum Robin

                      Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                      P Offline
                      P Offline
                      Patrick Fox
                      wrote on last edited by
                      #27

                      So you've traced the evolution from machine language, to assembly, to high level languages. And you also note why the change occurred. Before I could answer your question, I have to ask why would programming move to a natural language to describe the program? Would natural language programming languages offer any benefit over a high level language? All I see is downsides.

                      1 Reply Last reply
                      0
                      • Q Quantum Robin

                        Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                        S Offline
                        S Offline
                        Shawn_Eary
                        wrote on last edited by
                        #28

                        "Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language." - Quantum Robin Please don't go down this rabbit hole. I really don't want to see a resurgence of COBOL...

                        1 Reply Last reply
                        0
                        • G GuyThiebaut

                          Exactly! How many times have you had a conversation with someone when they say "Next Friday..." and you have to define what they mean by the word "Next" or at least confirm by responding in kind adding "Friday next week..." only to find out that they mean "this" Friday. Or when someone uses the word "couple" to mean more than two. Natural language is by it's nature ambiguous and dependent on context.

                          “That which can be asserted without evidence, can be dismissed without evidence.”

                          ― Christopher Hitchens

                          D Offline
                          D Offline
                          DerekT P
                          wrote on last edited by
                          #29

                          (After over 30 years, we still have to have a conversation every time my wife refers to "next xxxday". It almost always ends up NOT being the next xxxday, but the one after. But I can never assume... )

                          G 2 Replies Last reply
                          0
                          • H H Brydon

                            OriginalGriff wrote:

                            ...I'm not convinced that natural language is a good idea for programming - it's too imprecise, too open to misinterpretation...

                            Just the absence of differentiation between Inclusive OR (IOR) and Exclusive OR (XOR) disqualifies natural language. That's a pretty basic concept that is completely absent.

                            I'm retired. There's a nap for that... - Harvey

                            D Offline
                            D Offline
                            DerekT P
                            wrote on last edited by
                            #30

                            That's not a fault in natural language per se, more of a shortcoming in English (and possibly many other languages too). In fact the whole "too imprecise" problem is down to the "implementation" of natural language. Maybe we could, I dunno, create some sort of natural language, with its own syntax and structure, that computers could understand without ambiguity? oh... doh. :doh:

                            1 Reply Last reply
                            0
                            • Q Quantum Robin

                              Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                              M Offline
                              M Offline
                              Michael Breeden
                              wrote on last edited by
                              #31

                              For a few reasons I doubt it including that natural language is very imprecise. Another reason though might be more obscure. I write about how humans can adapt genetically and strategically to the future as our ecology undergoes a radical change from tribal ecology to Civilization. On chapter is about what a person needs to know which includes certain things like Critical Thinking skills so a person can discern truth, science including biology because it describes humans, law because it describes the human environment, etc. I do recommend that a person know a foreign language because it teaches them about their own language. I also recommend that a person learn a programming language. Not necessarily for use on a job, but so they know how machines communicate and think. If we develop machines that can communicate with us in our natural language, we are going to naturally make mistakes communicating with machines and about distinguishing what machines are. We do need to keep that in mind.

                              1 Reply Last reply
                              0
                              • D DerekT P

                                (After over 30 years, we still have to have a conversation every time my wife refers to "next xxxday". It almost always ends up NOT being the next xxxday, but the one after. But I can never assume... )

                                G Offline
                                G Offline
                                GuyThiebaut
                                wrote on last edited by
                                #32

                                So if today is Monday and your wife says "Next Friday", how many days from now is she referencing?

                                “That which can be asserted without evidence, can be dismissed without evidence.”

                                ― Christopher Hitchens

                                D 1 Reply Last reply
                                0
                                • D DerekT P

                                  (After over 30 years, we still have to have a conversation every time my wife refers to "next xxxday". It almost always ends up NOT being the next xxxday, but the one after. But I can never assume... )

                                  G Offline
                                  G Offline
                                  GuyThiebaut
                                  wrote on last edited by
                                  #33

                                  So today is Monday and your wife says "Next Friday", how many days from now is she referencing?

                                  “That which can be asserted without evidence, can be dismissed without evidence.”

                                  ― Christopher Hitchens

                                  1 Reply Last reply
                                  0
                                  • Q Quantum Robin

                                    Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language. It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations: 1.5 Machine Languages, Assembly Languages and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types: Machine languages Assembly languages High-level languages Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay: +1300042774 +1400593419 +1200274027 Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay: load basepay add overpay store grosspay Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages

                                    D Offline
                                    D Offline
                                    DerekT P
                                    wrote on last edited by
                                    #34

                                    In the long term, the question will be irrelevant - there won't be "programmers" or "languages". Systems will develop themselves. Eventually AI will reach the stage where it can "think" semi-creatively and identify the problem, and from that a solution which it can implement. By semi-creatively I mean, for instance: a hospital administration system that is itself able to identify trends in patient data (e.g. outcomes for groups treated in a certain way are "better" than those treated differently - which involves it being told, or having learnt, what "better" looks like). Having identified such (complex) trends it can then adjust treatment plans accordingly, because systems will be interconnected far more than they already are. It may never reach the stage of being fully "creative", i.e. coming up with entirely novel ideas; however eventually there will be such little demand for human programmers that the requirement to write in a "computer" language rather than natural language would be irrelevant. It's a pretty bleak outlook, not just for developers, but for all mankind since while there will be localisation of solutions, pretty much everything will be an amorphous blob of "the system" which will be taking all the decision making away from us. And of course, scope for hacking would be tremendous - in the situation above, just consider if someone switches the definition of "better" to mean "dead"... :omg:

                                    Q 1 Reply Last reply
                                    0
                                    • G GuyThiebaut

                                      So if today is Monday and your wife says "Next Friday", how many days from now is she referencing?

                                      “That which can be asserted without evidence, can be dismissed without evidence.”

                                      ― Christopher Hitchens

                                      D Offline
                                      D Offline
                                      DerekT P
                                      wrote on last edited by
                                      #35

                                      Normally, eleven days. She will describe the next Friday (i.e. 4 days time) as "this Friday". Worse, we miscommunicate daily about dinner time. To me, "dinner" means the main meal of the day, which may occur at either lunchtime or supper time. She says she's meeting a friend for dinner; I have absolutely no idea at what time she might be going out. :( She can't get her head around my meaning of the word, I still can't - after 30 years - remember whether "dinner" means supper or lunch to her.

                                      G 1 Reply Last reply
                                      0
                                      • D DerekT P

                                        Normally, eleven days. She will describe the next Friday (i.e. 4 days time) as "this Friday". Worse, we miscommunicate daily about dinner time. To me, "dinner" means the main meal of the day, which may occur at either lunchtime or supper time. She says she's meeting a friend for dinner; I have absolutely no idea at what time she might be going out. :( She can't get her head around my meaning of the word, I still can't - after 30 years - remember whether "dinner" means supper or lunch to her.

                                        G Offline
                                        G Offline
                                        GuyThiebaut
                                        wrote on last edited by
                                        #36

                                        That's interesting, because if today is Monday and I say "Next Friday" I also mean in 11 days time. "This Friday" to me would be four days away as "This" and "Next" refer to the week(as in "Friday this week/this Friday" and "Friday next week/next Friday"). I tend to use lunch and supper, so dinner would confuse me too. In the UK we also have "tea", if you are middle class "tea" means tea and some sort of cake mid-afternoon. If you are from a working class background "tea" means supper.

                                        “That which can be asserted without evidence, can be dismissed without evidence.”

                                        ― Christopher Hitchens

                                        1 Reply Last reply
                                        0
                                        • D DerekT P

                                          In the long term, the question will be irrelevant - there won't be "programmers" or "languages". Systems will develop themselves. Eventually AI will reach the stage where it can "think" semi-creatively and identify the problem, and from that a solution which it can implement. By semi-creatively I mean, for instance: a hospital administration system that is itself able to identify trends in patient data (e.g. outcomes for groups treated in a certain way are "better" than those treated differently - which involves it being told, or having learnt, what "better" looks like). Having identified such (complex) trends it can then adjust treatment plans accordingly, because systems will be interconnected far more than they already are. It may never reach the stage of being fully "creative", i.e. coming up with entirely novel ideas; however eventually there will be such little demand for human programmers that the requirement to write in a "computer" language rather than natural language would be irrelevant. It's a pretty bleak outlook, not just for developers, but for all mankind since while there will be localisation of solutions, pretty much everything will be an amorphous blob of "the system" which will be taking all the decision making away from us. And of course, scope for hacking would be tremendous - in the situation above, just consider if someone switches the definition of "better" to mean "dead"... :omg:

                                          Q Offline
                                          Q Offline
                                          Quantum Robin
                                          wrote on last edited by
                                          #37

                                          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.

                                          Q 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups