A “new milestone in competitive programming” was made by Google’s British AI subsidiary DeepMind earlier this month, when it released AlphaCode, a system that claims to be able to write full -fledged computer programs comparable to the work of tao. Software development has long been identified as an area where AI can have a huge impact, and with the advances offered by AlphaCode and other systems, is the prospect of machines replacing humans realistic? coder?

DeepMind says AlphaCode has the ability to understand a problem then write a program that solves that problem. It says it tested the system against people who participated in coding contests and found that its results ranked in the top 54% of human participants.
“Solving problems in competitive programming is really hard to do, which requires both good coding skills and creativity in solving people’s problems,” said Google software engineer Petr Mitrichev, who participates in the competitions. in coding. “I’m very impressed that AlphaCode can move forward in this area, and I’m excited to see how the model uses its statement understanding to generate code and guide its random exploration to create solutions.”
With AlphaCode showing impressive progress, Mitrichev and his colleagues can be forgiven for looking over their shoulders.
How important is DeepMind’s AlphaCode?
DeepMind used a combination of unsupervised and supervised machine learning to train AI models undergoing AlphaCode. First, the system absorbed 715 gigabytes of data from the GitHub coding repository, before the DeepMind team refined it using a database it created of problem statements, test cases and submissions-right and wrong – from coding contests.
When a new problem is presented, AlphaCode analyzes the information it has, coming up with thousands or, in some cases, millions of solutions, then filters them down to the top ten it has submitted for contest. If one of these turns out to be correct, the team is considered a victory.
This process marks AlphaCode from other AI coding tools, such as OpenAI Codex, with the ability to generate specific snippets of code in command. “It’s a breakthrough in the sense that they solve programming problems that are more complex than previous systems,” said Professor Ernest Davis, from the computer science department at New York University.
But, says Professor Davis, it’s not without limits. Because its methodology involves developing so many potential solutions to a problem (before filtering them to find the best one), the amount of training data required to write more complex programs is likely to be overwhelming. “It is reasonable to expect that the number of samples required will increase sharply over the length of the program,” Professor Davis said. It also relies on the relevance of its training data with accurate solutions, something a human programmer can do even if they have no knowledge of the subject.
AlphaCode is a useful contribution to AI research, but AI coding at the level of an experienced person is still light-years away.
Dzmitry Bahdanau, ServiceNow
And compared to DeepMind’s other achievements in AI, AlphaCode has had relatively little success, says Dzmitry Bahdanau, a research scientist at workflow software vendor ServiceNow who studied how AlphaCode works. “At this point, AlphaCode is a useful contribution to AI research, but AI coding at the level of an experienced person is still a long way off,” he said. “It’s not AlphaGo in terms of beating people, and it’s not AlphaFold in terms of changing an entire field of science.”
Will AI replace human programmers?
Even if an AI like AlphaCode exceeds these limits, the conditions in which it performs testing are significantly different in the world of professional software development, says Dr Peter Schrammel, lecturer in computer science at the University of Sussex and CTO and co-founder of software company Diffblue. “The coding challenges are pretty specific because the assignments need to be as unambiguous as possible in order to compare solutions in a fair way,” he explains. “The description is pretty well structured and the examples are given in a consistent way.”
Development in the real world is “another animal”, he says. “The requirements are vague and determined in incremental iterations,” he said. “Software developers communicate the requirements in conversations with stakeholders, implement the first version, then present it and discuss with stakeholders what needs to be improved for the next iteration.” Whereas in a coding challenge “it is well known what the requirements are,” says Dr. Schrammel, “in real-world software development, getting the requirements from the leaders of the stakeholders is the main challenge. ”
Bahdanau agreed, and said he doesn’t believe many people in the industry are “taken seriously [AI replacing human programmers] as a goal ”. “People understand the broader context, the actual real -world purpose of why code needs to be written,” he said. “AlphaCode, Codex, and others are very advanced statistical methods that have billions of gigabytes of code distilled into them. That being said, AI has the potential to help human software developers. to do their job faster.
How can AI help software development?
But with the continuing lack of tech skills threatening to slow the pace of digital change, AI has a big role to play in software development, helping older IT teams. Tech Monitor reported on the growing popularity of low-code and no-code systems, which allow non-technical staff to develop digital functions to assist their work, with no code expected to reach 65 % of app development in 2024, according to Gartner.
For professionals, tools like GitHub CoPilot, which suggests lines of code or functions to aid development, are likely to be the most productive use of AI in the short to medium term, Drs. Schrammel. “Software development itself has benefited greatly from automation since it began,” he said. “No one makes machine code manually. Automated tools such as compilers and code generators transform high-level formal details of an application into machine-executable code. ”
Software development itself has greatly benefited from automation since it began.
Dr Peter Schrammel, University of Sussex
The rise of these compilers has seen “tedious tasks” automate, but has not led to a decrease in the number of human developers, Dr Schrammel added. “One reason could be that many software development activities such as engineering requirements rely on a wide range of domain knowledge and have to deal with large levels of ambiguity,” he said. “These activities are more difficult to automate than more regular activities, such as coding from well-defined specifications and testing.”
In fact, further automation of test systems is likely to be the next frontier of AI in programming, says Dr. Schrammel. As automation increases, Bahdanau believes an increasingly important role for human developers is to ensure that the way AI is developed is understood. “Professional developers need to understand and verify the algorithm proposed by AI,” he said. “For citizen developers who use low-code or no-code programming interfaces, the bar for AI reliability will be higher, and they will need developer experience that explains the logic that AI suggests.”

News editor
Matthew Gooding is news editor for Tech Monitor.