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."
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."
Is your job secure? (Score:1)
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)
Re: (Score:3)
Re: (Score:2)
You might want to use constrained natural language
That's what COBOL is.
Re: (Score:2)
Re: Is your job secure? (Score:4, Interesting)
Re: (Score:3)
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.
Re: Is your job secure? (Score:4, Insightful)
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.
Re: (Score:2)
Re: (Score:1)
Re: Is your job secure? (Score:2)
Robot Wars is a perfectly good AI task.
Re: Is your job secure? (Score:2)
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)
Re: (Score:2)
Imagine someone who doesn't even know COBOL, writing COBOL, through Google Translate.
Re: (Score:3, Insightful)
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.
Re: (Score:2)
If you want truly hideous code, teach a robot to write PHP.
Re: (Score:2)
>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.
Re: (Score:3)
and again, and again, and...
Remember "4GL"? :)
So? (Score:5, Insightful)
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.
Re: (Score:2)
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.
Re:So? (Score:4, Funny)
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.
It's hard for me to imagine what you have in mind here.
Re: (Score:2)
Generally has 6 goals: (Score:1)
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
Re: Generally has 6 goals: (Score:2)
7. Writing reusable code. With an AI you'd risk getting an 18-wheeler with 18 different wheels.
Re: (Score:1)
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.
Re: (Score:3)
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
Re: (Score:1)
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?
Natural language dupe checks coming soon after (Score:5, Informative)
https://developers.slashdot.org/story/21/05/25/1755207/microsoft-uses-gpt-3-to-let-you-code-in-natural-language [slashdot.org]
Re: (Score:1)
It doesn't work. It doesn't work.
Excellent! (Score:2)
Re: (Score:2)
I simply cannot wait to see the wonderful code generated from the description of what "users" want the program to do.
Computer! Write my history paper!
Re: (Score:2)
Re: (Score:2)
It's as if MS has never heard of Frontpage.
So Long RTFM (Score:2)
Re: (Score:2)
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. ;)
Re: (Score:2)
Try not being vague in your descriptions of what you want. That helps a lot.
Re: (Score:2)
Re: (Score:2)
Users can't describe what they want. (Score:3)
Re: (Score:2)
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.
How do we validate that it works? (Score:2)
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?
Do the reverse! (Score:3)
Re: (Score:2)
"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
How long before (Score:2)
... the AI also decides what code is needed from a conversation, and you can skip the coder altogether?
Kind of like requirements documents? (Score:4, Insightful)
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!
Only as good as what it was trained on (Score:2)
not complex code (Score:2)
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
Specs? (Score:2)
I cannot wait to see the natural language description of Microsoft Windows
Re: (Score:1)
"Go to Blue Screen of Death"
SQL Query Generators are useful too (Score:2)
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
Nope (Score:2)
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" (Score:2)
"... 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...
Yawn. (Score:1)
Old news. Wake me when AI can write good code based on "ordinary" language.