by John Roach
Ever since Ada Lovelace, a mathematician considered the first computer programmer, proposed in 1843 to use punched holes in cards to solve mathematical equations in a mechanical computer that had never been built, software developers have created solutions to all kinds of problems. With step-by-step instructions that computers can understand.
according to Kevin Scott, CTO of Microsoftthis is changing.
Today, AI-powered software development tools enable people to create software solutions using the same language they use when talking to other people. These AI-powered tools translate natural language into programming languages that computers understand.
“This allows you, as a developer, to have the intent to get something done in your head and be able to express in natural language what you want. So this technology translates that into code that does what you want it to do,” Scott commented. “This is a fundamentally different way of thinking about development, right from the start of the program.”
This paradigm shift is driven by manuscriptAnd Machine learning model from artificial intelligence research and development company, and open aiwhich can translate natural language commands into code in more than a dozen programming languages.
Codex is descended from GPT-3, the natural language model of OpenAI that was trained from petabytes of online linguistic data. Codex was trained on this language data, as well as code from GitHub software repositories and other public sources.
“It makes coding more productive in terms of removing unpleasant work, as well as helping you remember things you may have forgotten, as well as the right approach to problem solving,” Peter Wellender, Vice President of Product and Partnerships at OpenAI, said on Constitution. food.
According to Scott, the increased productivity that Codex brings to software development is a game-changer. It allows developers to accomplish many tasks that previously took two hours in two minutes.
“Tools help you move very quickly through the less interesting parts of your work so you can get to the more interesting parts, making the qualitative experience in creating more interesting, motivating, and fun.”
Artificial intelligence and code come together
The Microsoft and OpenAI formed a partnership in 2019 To accelerate progress in artificial intelligence – including the joint development of some The most powerful artificial intelligence supercomputer From the world– and hand it over to developers to build the next generation of AI applications through the service Azure OpenAI.
Microsoft’s GitHub has also worked with OpenAI to integrate Codex into files copilot githubAnd A downloadable extension for software development programs such as Visual Studio Code. The Codex tool is used to extract context from the developer’s existing code and suggest additional lines of code and functions. Developers can also describe what they want to achieve in natural language, and assistants will rely on their prior knowledge and current context to find an approach or solution.
GitHub Copilot, which was released in Technical Preview in June 2021, today suggests about 35% of the code in popular languages such as Java and Python, generated by tens of thousands of developers in Technical Preview, who regularly use GitHub Copilot. GitHub Copilot will go public soon, bringing AI-assisted coding capability to millions of professional developers, Microsoft announced today at Developer building conference.
“Many programs have frameworks and parts in common. Copilot has done a great job of doing all of this for you, so you can focus your energy and creativity on the things you’re trying to uniquely solve,” commented Julia Lewson, Head of Microsoft Developer Division, which includes GitHub.
According to Welinder, as more developers experiment with Codex and GitHub Copilot, more clues about the potential for AI-assisted development will emerge. For example, natural language documentation in most programs is few. GitHub Copilot users create this documentation by default when using the tool.
“You get a lot of feedback in the code, it just tells the nature of what to do for Copilot,” he said. “You document the code as you work, which is amazing.”
This feedback in turn serves as a learning tool for other developers, who often study other software to learn how to solve specific problems in their own software. Codex’s ability to translate natural language into code is another way developers can learn as they program, which will lower the barrier to entry into programming functionality, Weller added.
From low symbol to no symbol
Meanwhile, low-code, AI-powered, no-code tools like those available through Microsoft Energy Platform willing to let Billions of people develop software applications They need to solve their own unique problems, from speech therapist Digitizing simple paper forms to transform hearing loss prevention in Australia into a tool Reduces the burden of manually entering data for family business employees and Enterprise level solution Which processes billions of dollars in Covid-19-related loan forgiveness requests for small businesses.
According to Charles Lamana, corporate vice president of business and platform applications at Microsoft, hundreds of millions of people who are comfortable working with formulas in Microsoft Excel, a spreadsheet program, can easily revive these skills. You are able to build these types of software applications.
“One of the big efforts we’re focused on is taking it to the next level, going from hundreds of millions of people to billions of people who can use these tools,” he says. And the only way to really do that is to go from low code to no code, using development based on artificial intelligence. “
For this, Lamanna team first integrated GPT-3 with Microsoft Power Apps In a feature called Power App Ideas, which allows people to build apps using the conversational language of Power Fx, an open source programming language for low-code development with its assets in Microsoft Excel. The next step, announced in Build, is a feature called Power Apps Fast DesignAnd It uses artificial intelligence models from Azure Cognitive Services Convert Figma drawings, images, PDFs, and design files into software applications.
“We did this so that we could recognize images and map them to the compositions within the app. We understand what a button is, what an assembly is, what a text box is, and we automatically build an app based on those graphics, without having to understand and associate all these different components” Lamana commented.
This AI-driven transition from low code to no code follows a general trend in computing to become more intuitive over time. Personal computers were rare 40 years ago, spreadsheets were uncommon 30 years ago, and Internet access was limited 20 years ago, for example. Until recently, video and photo editing was reserved for professionals.
Lamana said software development should become more accessible.
Developers for a Software-Powered Future
GitHub Copilot, as well as the low-code and non-code offerings available through the Power Platform, are the first phase of AI-assisted development, according to Liuson. It envisions AI-powered models and tools that will help developers of all skill levels clean data, check code for errors, debug programs, and explain what blocks of code mean in natural language.
These features are part of a larger vision of AI-powered tools that can act as assistants helping developers find solutions to their problems faster and helping anyone who wants to build an app move from an idea in their head to a program that works.
“As a developer, we all have days when we get nervous, and say, ‘Why isn’t this thing happening? it’s working?’ And we’ve consulted with a higher-ranking developer to point us in the right direction,” Liuson explains. “When a kopilot can point to things like, ‘Here are four different points common to this problem pattern,’ that would be amazing.
According to Scott, this new era of AI-assisted software development can increase developer productivity, satisfaction, and efficiency, and make software development more natural and accessible to more people.
For example, the player can use a natural language to program the non-player characters in the format Maine Craft To perform tasks such as building structures, freeing up the player to perform other more demanding tasks. Graphic designers can use natural language to create 3D scenes in the graphics rendering engine Babylon.js. Teachers can use 3D creation and collaboration tools like FrameVR To talk about the existence of the metaverse, such as the surface of the moon with roving and the American flag.
“You can describe to the AI system what you want to achieve,” Scott said. “It can try to figure out what I meant and show you part of the solution, and then you can improve on what the model shows you. This is the iterative cycle that should flow freely and naturally.”
Scott added that these tools will also increase developer options in a world that will increasingly be powered by software.
“As the future depends heavily on software, we want a broad and inclusive group of people involved in creating it. We want people of all backgrounds and opinions to be able to use the most powerful technologies, put the power in their hands to solve problems that arise, help them build their businesses and bring prosperity to their families. and their families. Communities.”
Top image: Kevin Scott, Microsoft’s chief technology officer, who says AI-powered tools help developers move from ideas to code. Image courtesy of Microsoft.
John Roach writes about research and innovation at Microsoft. follow him Twitter.
Tags: build 2022, developers, artificial intelligence