‘The End of Programming’ is the provocative title of an article by Matt Welsh in the US computer journal Communications of the ACM. The former Harvard professor of computer science argues that classical computer science is coming to an end and that most of his colleagues are waiting like dinosaurs for the meteorite to hit. The meteorite in this case is artificial intelligence or AI. ‘I think writing a programme will become extinct and most software will be replaced by AI systems that will be trained rather than programmed,’ Welsh writes.
“Where it can is where it will happen,” Prof. Arie van Deursen, Department Head of Software Technology at the Faculty of Electrical Engineering, Mathematics and Computer Science, responds when asked. “But to train systems you need a lot of data. And many things cannot be trained. Take the Tax Administration of the Netherlands. How should the tax system be trained? It's not like you learn that from 20 other countries that also have a tax system. You will have to create the tax software yourself. So writing software is definitely not dying out.”
‘With ChatGTP, there is a danger of hallucinating’
One hears a lot about the use of ChatGPT in programming. Can such generative AI write reliable software?
“The standard exercises of learning programming are all online, so ChatGPT is trained using these too. So it’s just fine to ask ChatGPT questions about that in a chat window. That will be the future: that you interact with a language model about the software you want to make in one window and test the outcome in your own programme in another. It does mean that you need to have a clear picture of what the programme should do. The clearer the picture, the better AI can help you.”
What are the limitations of AI?
“With ChatGTP, there is a danger of hallucinating. Language models can confidently call out things that are simply not true. Or, as Bertrand Meyer writes in the computer journal, current AI generates software from what the system has seen before. The result may look good, but there is no guarantee of error-free operation.”
‘AI forces students to write better software’
Things are developing at lightning speed. You are responsible for training the next generation of computer scientists. How are you adapting your teaching to the impact of AI on software creation?
“In the future, AI assistants will help more in software development. Language models can help with programming, but there are also parts in the software pipeline that are data-driven in a different way. AI will play an important role there too. We train students so that they understand how AI systems work and how they can support software development.”
“We have to wait and see how that will really play out. At the moment, if we teach a programming course, we expect the students to be able to programme on their own. So in that sense, students should not use ChatGPT as the only source of their exercises because then they won't learn enough. And on the other hand, where it is useful, they’re allowed to use an AI assistant.”
So TU Delft students are taught programming both with and without AI assistance?
“Yes, because you need to be able to code by yourself first to be able to deal with an AI assistant properly. If you master the basics, an AI assistant will make you a better programmer. Actually, AI forces students to write better software because it has raised the bar. Evidently you can‘t get away with bad programmes anymore. Our students’ work must always be better than what an AI model creates.”