Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
AI Programming Microsoft

AI Could Soon Write Code Based On Ordinary Language (wired.com) 57

An anonymous reader quotes a report from Wired: On Tuesday, Microsoft and OpenAI shared plans to bring GPT-3, one of the world's most advanced models for generating text, to programming based on natural language descriptions. This is the first commercial application of GPT-3 undertaken since Microsoft invested $1 billion in OpenAI last year and gained exclusive licensing rights to GPT-3. "If you can describe what you want to do in natural language, GPT-3 will generate a list of the most relevant formulas for you to choose from," said Microsoft CEO Satya Nadella in a keynote address at the company's Build developer conference. "The code writes itself."

Microsoft VP Charles Lamanna told WIRED the sophistication offered by GPT-3 can help people tackle complex challenges and empower people with little coding experience. GPT-3 will translate natural language into PowerFx, a fairly simple programming language similar to Excel commands that Microsoft introduced in March. Microsoft's new feature is based on a neural network architecture known as Transformer, used by big tech companies including Baidu, Google, Microsoft, Nvidia, and Salesforce to create large language models using text training data scraped from the web. These language models continually grow larger. The largest version of Google's BERT, a language model released in 2018, had 340 million parameters, a building block of neural networks. GPT-3, which was released one year ago, has 175 billion parameters. Such efforts have a long way to go, however. In one recent test, the best model succeeded only 14 percent of the time on introductory programming challenges compiled by a group of AI researchers. Still, researchers who conducted that study conclude that tests prove that "machine learning models are beginning to learn how to code."

This discussion has been archived. No new comments can be posted.

AI Could Soon Write Code Based On Ordinary Language

Comments Filter:
  • by Anonymous Coward

    Are you worried about your job, or are you worried about actual progress?
    If you don't have to code any more, that frees you up to do more specialized tasks that AI hasn't achieved yet.
    Like fighting in a gladiator pit.

    • Comment removed (Score:4, Insightful)

      by account_deleted ( 4530225 ) on Friday May 28, 2021 @06:40PM (#61432640)
      Comment removed based on user account deletion
      • You might want to use constrained natural language (something similar to ACE [wikipedia.org]) which either eliminates some sentences, or removes ambiguity from some sentences, or both. And even remaining ambiguities in the constrained language text could be resolved interactively (with the editor asking "When you wrote [XYZ], did you mean [ABC], or [DEF]?", with [ABC] and [DEF] being reverse-translated possible interpretations of [XYZ]).
      • by Erioll ( 229536 ) on Friday May 28, 2021 @08:10PM (#61432822)
        While true, not enough. As Randall Munroe said [xkcd.com]: "You'll never find a programming language that frees you from the burden of clarifying your ideas." to which the hapless petitioner says "But I know what I mean!" I don't care how good it is at interpreting language, if you can't clarify your ideas, it doesn't matter. And if the machine doesn't need you to do the work of clarifying (it understands the context of what you're asking, so it has access to what you were asked to do) then it doesn't need you either!
        • As Alan Perlis said many years before [yale.edu],

          When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.

          This has been the ideal for a long time, but at some level you will always need to clearly define your requirements.

      • by Z00L00K ( 682162 ) on Friday May 28, 2021 @10:32PM (#61433098) Homepage Journal

        And we already see the results of that. Specifications that are good enough for European developers are sent to India and you get back something really strange.
        You specify a duck-billed animal living close to water and expect a duck, but get an angry platypus instead.

      • I guess taking any spoken language your statement is true. You can also say that english allows the writer to put emphasis on things like quantity, tense, subject... related to an object, within a statement without referencing the second, third person's initial statement or following statement? Most if not all languages do the same as well, but english is particularly structured to do this.
    • Robot Wars is a perfectly good AI task.

    • It's long been a misunderstanding that AI was going to come for the lower tier jobs first. It is going to come for the white collar jobs first because they are the most easily automated.

      Required reading: https://marshallbrain.com/mann... [marshallbrain.com]

  • Here we go again (Score:4, Insightful)

    by namgge ( 777284 ) on Friday May 28, 2021 @06:46PM (#61432656)
    Trying to "Write code based on ordinary language" is how the world ended up with COBOL.
    • Imagine someone who doesn't even know COBOL, writing COBOL, through Google Translate.

    • Re: (Score:3, Insightful)

      by skids ( 119237 )

      This whole thing fails at ""If you can describe what you want to do in natural language". Judging from the lack of quality documentation for most software products these days, plainly, people just start coding before doing any such thing.

      • If you can describe what you want to do in natural language You have no future as a programmer.

        If you want truly hideous code, teach a robot to write PHP.

    • >Trying to "Write code based on ordinary language" is how the world ended up with COBOL.

      Which, by all criteria that matter, has been a huge success. So your point must be that this idea is great too.

    • by arQon ( 447508 )

      and again, and again, and...

      Remember "4GL"? :)

  • So? (Score:5, Insightful)

    by Drethon ( 1445051 ) on Friday May 28, 2021 @06:47PM (#61432662)

    Writing code is rarely the difficult part (though can be error prone). The difficult part is usually figuring out what the code should do. The biggest impact I can think of is this could make good coders more efficient as they can focus more on what the code should be doing, and not fixing the simple errors that find their way into code.

    • by mark-t ( 151149 )

      It still carries with it all of the baggage that using a natural language has though.

      What I'd like to see is something that can go directly from a programmer knowing what the code is supposed to do to generate all of the necessary code to achieve that without the programmer having to use verbage to describe anything.

    • 1. Writing code that works as intended
      2. Writing code that others can read in reasonable time
      3. Writing code that's easy to modify as requirements change
      4. Not writing too much code to do something
      5. Following shop styles and conventions
      6. Decent performance for environment

      • 7. Writing reusable code. With an AI you'd risk getting an 18-wheeler with 18 different wheels.

        • by Tablizer ( 95088 )

          It's too hard to predict the future. Generally shop patterns form after a few apps, and one should wrap common patterns into little API's, but trying to make a large integrated reusable component is largely fools gold. Have a basket of little helpers, not over-arching frameworks.

    • by vux984 ( 928602 )

      Writing code is rarely the difficult part (though can be error prone). The difficult part is usually figuring out what the code should do.

      The upshot being that coding won't be any faster because the hard part, requirements gathering and analysis, and synthesis into a solution IS the hard part. Factoring it down into sensible function points, dependencies, into an elegant solution to solve the problem.

      Dropping this completed solution in a structured unambiguous programming language is the 'easy part'.

      So this 'solution' is going to have the programmer do the hard part, and then when he's ready to create code, instead he's now going to have to e

    • Writing code is rarely the difficult part (though can be error prone). The difficult part is usually figuring out what the code should do..

      Even more difficult, what else it should do. Maybe real language coding could be done within a simulation given some already proven environment?

  • I simply cannot wait to see the wonderful code generated from the description of what "users" want the program to do.
  • So essentially they are creating a new breed of programming languages where there is no manual you can reference when things do not work right. You just have to keep rewording the problem till it magically works.
    • You just have to keep rewording the problem till it magically works.

      Sounds like what you do when you talk to a team of developers in hope that one of these days they'll understand what you want. ;)

    • by mark-t ( 151149 )
      I'm not sure what it says that you've also described an exceedingly common strategy for fixing software bugs.
      • by jythie ( 914043 )
        At least with software bugs, there is a manual you can reference to make an educated guess about the problem.
  • by Hans Lehmann ( 571625 ) on Friday May 28, 2021 @07:39PM (#61432768)
    For the developers out there, how many times have you written code to implement some feature request, only to rewrite it four more times because the use is incapable of accurately describing the requirements. Also, the concept that "the code writes itself" is laughable, and has been since the 80's when I first heard it. I remember having to work with Clarion, an early database-centric language. They're big claim was that you didn't have to write any code. There is no language at any level where you don't have to write code if you actually want it to do real world work.
    • by nyet ( 19118 )

      Exactly this. Good programming isn't writing a "good program", it is being able to describe *precisely* what it is you want.

      This is partly documentation, but also a description in an unambiguous language.

      The latter of which "natural languages" are not.

  • I don't think I've ever seen a set of requirements so good that any human can successfully create a program that meets the requirements of the user first time that doesn't need to be tweaked or even majorly modified. I'm including requirements for basic programming classes and not even thinking about a complex application.

    If humans can't perform this task, how is the produced output validated to be "right" or even equal to what a human would produce?

  • by mspring ( 126862 ) on Friday May 28, 2021 @08:40PM (#61432898)
    "Translate" code into plain-English which describes what the code does.
    • "Translate" code into plain-English which describes what the code does.

      "Sure, I'll give it a shot. I'm pretty good at this you know."

      - Rep. Ted 'Intertubes' Stevens

  • ... the AI also decides what code is needed from a conversation, and you can skip the coder altogether?

  • by Tony Isaac ( 1301187 ) on Saturday May 29, 2021 @12:29AM (#61433216) Homepage

    Requirements documents are supposed to be written in natural language, from a business point of view. How many requirements documents have YOU seen that clearly described what the software should do? How many of them are even readable?

    So-called natural language programming will never be easier to do than writing good requirements documents. And that's a very tall order, based on what I've seen!

  • If it was trained on buggy code, it will produce buggy code. So human programmers will still have a job: fixing bugs in code produced by AI.
  • There are a lot of comments in here about how difficult it is to describe requirements, how to get them unambiguous, etc. I don't think that's what this is about; it's about programming relatively simple problems, the kind one would write using formulas in a spreadsheet. There's not much ambiguity in interpreting "I want the average value of column 3, and put it at the bottom of column 3." (Ok, "bottom" could mean the first cell in column 3 that has no filled-in values below, or it could mean in cell 500

  • I cannot wait to see the natural language description of Microsoft Windows

  • Paraphrasing from the article:

    "Show me customers in the U.S. whose subscription is expired" produced a result like "Country = 'U.S.' and Subscription = 'Expired'"

    So it took a natural language sentence and turned it into a SQL query. That's not really that revolutionary, every voice assistance application has been doing that for a few years now so the technology clearly works since the same idea is used for me to ask when the next showing of the Cruella is from any one of the voice assistants.

    The novel idea

  • by gweihir ( 88907 )

    AI cannot "write code". Or rather there is no "AI", hence there is no "AI" that can write code. The only thing programming language conversion systems can do is convert the form algorithms are described in, they cannot do anything about the semantics at all.

  • "... soon ..."

    And here I'm still waiting for my flying car, 1000 mile EV, Mars vacation, paperless office, .... Not to mention a cure for cancer, an end to pollution and world peace.

    I wonder if Duke Nukem Forever has been released already? Even though it probably won't run on my Linux Mint machine...

  • Old news. Wake me when AI can write good code based on "ordinary" language.

The Tao is like a glob pattern: used but never used up. It is like the extern void: filled with infinite possibilities.

Working...