2 min read

When AI is developing

When AI is developing

“Why should AI use our complicated programming languages?” - Richard Seidl

I recently had a discussion about improving the quality of software and code. It was about AI checking code like static analysis and automatically fixing errors. So far so good. Then we moved on to copilots and the like, which support us in software development.

The way we develop software has changed dramatically over the last few decades. From tedious assembly code to high-level languages like C and Java to modern declarative approaches, the goal has always been to shorten the bridge between human thought and machine execution. But with the increasing role of artificial intelligence in software development, a crucial question arises: why should an AI continue to use the same human-centric programming languages?

Today, we already see AI-supported systems such as GitHub Copilot or ChatGPT generating software code, correcting errors and suggesting optimizations. However, we are still moving in the usual direction - programming languages that are supposed to be understandable for humans. But does this make sense in the long term?

From compiler to AI-generated code - a paradigm shift

The classic software development process is based on humans writing code and a compiler or interpreter converting it into machine language - whether Python, Java or Objectice-C. However, in a world where AI generates code independently, the question arises as to whether this detour is still necessary.

What if AI had its own programming language optimized for machines? A language that is not optimized for readability for humans, but for maximum efficiency for the machine? Perhaps this would not be a “language” in the classic sense, but a purely mathematical or algorithmic representation that evolves through pattern recognition and neural networks.

When machines develop for machines - what’s left for us?

The idea of AI developing its own programming language raises many exciting questions. One of them is: what role will be left for us developers?

On the one hand, humans could still define the framework conditions, set requirements and check whether the results fulfill the desired purpose. On the other hand, AI could not only take over code generation in the future, but also make independent decisions about architecture and system design. This could mean that the traditional role of the developer increasingly becomes that of a moderator or strategic planner - someone who is more concerned with concepts and ethical issues than with writing individual lines of code.

From a philosophical point of view, this would be a major step forward in human-machine collaboration. The transition from “humans writing code for machines” to “machines writing code for machines” would be a fundamental change, similar to the industrial revolution that once replaced manual labor with machines. But like any technological revolution, this one raises ethical questions: How do we ensure that AI-generated code remains safe and traceable? Who is responsible if something goes wrong? And how do we prevent a “black box” technology that nobody really understands anymore?

The code of the future

While we are still a long way from AI developing its own programming language that is incomprehensible to humans, current developments clearly show that traditional programming languages may only be an intermediate stage. The idea that one day we will no longer need human-readable code at all is as fascinating as it is worrying. I don’t want to judge this here, but we should remain vigilant about how software development develops.

What has Object Oriented Technology Achieved?

What has Object Oriented Technology Achieved?

This article deals with the goals of object orientation and examines the extent to which these goals have actually been achieved. The first...

Weiterlesen
Software Engineering in the Year 2034

Software Engineering in the Year 2034

What will the day-to-day work of a developer look like in 2034, what environments, tools and practices will be used to create, test, deploy and...

Weiterlesen
Software Testing of and with AI

Software Testing of and with AI

Artificial intelligence (AI) and software testing are two important topics in today’s software and system development. Using them together or on top...

Weiterlesen