What will Programming be Like in the Future

With their capabilities, AI algorithms like ChatGPT will undoubtedly bring big changes. Could they even revolutionize programming?
Human language is characterized by ambiguities, vague descriptions and complex contexts. And yet machines manage to automatically generate texts that at least seem plausible and mostly even seem to make sense. The results should actually be all the better when creating program code with its clear syntax and its fixed structures. Accordingly, tools like Copilot or ChatGPT have enormous potential to support programmers in writing their codes.
“Programming languages are very simple languages that are easy to learn from patterns and examples for machines,” confirms Aljoscha Burchardt, who works on language technology at the German Research Center for Artificial Intelligence (DFKI). “Above all, the mixture of general language input to describe a problem and the programming language expressions that the system is supposed to deliver as a result is actually perfectly tailored to the capabilities of ChatGPT.” So it’s no wonder that OpenAI uses its artificial intelligence in addition to the comprehensive training essays, poems and song texts also familiarized with the program code. Not least because in the future programmers could be important advocates in companies that want to sell extended services after the current free gimmicks.
The potential of ChatGPT as a programming tool is certainly not yet exhausted. For example, it is not even able to run code that it has written at the user’s request and check that it works. “You have to remember that this technology has only been freely available for six months,” puts Burchardt into perspective. »But to integrate specific business models and business applications with such additional functions would of course be the next logical step.«
As far as the current version of ChatGPT is concerned, the functionality is essentially made up of two large areas: the underlying language model and the chat function on top of it, which ensures user-friendly operation. The language models, above all GPT1, 2 and 3, have existed for several years and have trained themselves using huge amounts of data. The focus is on freely accessible texts from the Internet, but also program code, which is also freely available to a large extent in the form of open source software, programming courses or example codes.
“To put it simply, the AI always holds a word to itself and tries to guess it,” explains Burchardt. Experts say that the algorithm “masks” some characters in a character string and then tries to infer the hidden content from the context to the left or right of the masked characters. Since it does not require any further human intervention, this is referred to as »self-monitored learning«. And after completing the training, it is finally able to make a plausible suggestion for the next word based on the beginning of a text specified by the user. Then comes the next but one and finally a whole, new text is created that seems plausible, but ultimately only reflects a statistical evaluation of the training data. “Of course, such a system does not have a real understanding of the content produced,” says Burchardt. »In fact, it hallucinates happily, albeit sometimes with astonishing results.«
ChatGPT then packs these language models, which according to Burchardt can certainly be regarded as milestones in AI research, into a chat function that enables the user to interact intuitively. He can use them to enter into a dialogue with the system, request a change or improvement here and there and approach the desired result in several moves. Unlike the language model itself, however, this functionality is the result of intensive human effort in training the AI. “Lots of people first made typical queries to the system and then evaluated the results,” explains Burchardt. Through this “reinforcement learning,” ChatGPT eventually learned to provide only the best and most helpful answers. “And that’s probably how it was done with programming tasks, taking into account typical queries from programmers in order to elicit the most useful answers from the system,” Burchardt suspects.
Sebastian Erdweg is someone who is very familiar with tools for software development. He heads the working group for programming languages at the Johannes Gutenberg University in Mainz and experimented with Copilot a year ago and recently also tried out ChatGPT for this purpose. “The possibilities offered by AI to improve software tools are definitely relevant,” he concludes. “In the case of ChatGPT, however, it is important to understand how programs differ from texts in human language.” After all, texts cannot usually be used exactly as the AI spits them out. However, a text containing a weak argument does not immediately collapse completely, whereas a computer program must ultimately function correctly.
“You can compare that to a recipe,” says Erdweg. Because similar to programs, they also specify precise rules. There is a list of ingredients and step-by-step cooking instructions – all regularities that should make it easy for an AI to generate a recipe based on the user’s personal preferences. However, it only optimizes the plausibility on the basis of other recipes that have already been created by humans, while specific errors only come to light when trying it out. “For example, if the instructions are to first cut the potatoes and then cook them whole, that’s a problematic contradiction,” says Erdweg. “And because this algorithm really has no idea about cooking, it can happen at any time.”
It is just as insufficient if program code only looks plausible on the surface. A single incorrect statement can lead to the entire program being void because it does not produce any meaningful result. “And what’s actually worse: It can be very difficult to find these errors,” says Erdweg. After all, in software development, the maintenance of third-party program code is usually much more complex than the initial development. And with an automatically generated code, a programmer very quickly finds himself in the situation of having to undertake this tedious troubleshooting.
Reviewer overview
What will Programming be Like in the Future - /10
Summary
With their capabilities, AI algorithms like ChatGPT will undoubtedly bring big changes. Could they even revolutionize programming?
0 Bad!







