Software engineering is discussed in the literature since the 1960s. During that time the first software crisis was available. which means, that large programs including operating systems were recognized as key element in computing. On jan 1, 1970 the unix operating system was activated. Unix was an early example for a large scale software project. Since the 1990s the amount of codelines has grown dramatically, new programming tools and language were created.
The only thing what programmers can't do is to create more than 10 lines of code per day.[1] This is the Sound barrier. The only exception is if the source code was exported from a high level program, for example a GUI interface. Some advanced GUI tools can write the XML code for a picture on the screen, so in this special use case, the programmer can create much more than only 10 lines of code.
The limit is valid for real code programmed in C/C++, Java etc, because there is no program available which can export Java code. What is available instead are compiler which take source code as input and generates assembly code as output. Writing the source code is only possible by humans.
Some improvements were made by copy & pasting code from an existing project or by using software libraries. But even if code was copied and pasted, he needs to be modified, so in overall the former mentioned productivity of 10 lines of code per day, describes the reality.
The amount of written code line has prevented since the 1960s that software can be rewritten from scratch. Even if a programmer is familiar with Linux and knows how to program in C he is not able to program his own Linux kernel from scratch. Not because of copyright reasons but because of the limitation in productivity. The Linux kernel has around 40 Million lines of code. If someone likes to program a software with the same size, he will need many many days until the code is ready.
The only way to write large projects like an operating system or desktop applications is to split the work among programming teams, that the reason why version control systems like git have become popular, because they allow to maintain a large codebase with multiple programmers. This allows to realize closed source and open source projects both.
Suppose there is an invention available which generates software automatically by a computer program. instead of compiling C Code into an .exe file, such a fictional artificial intelligence is able to generate the c code by itself. Such an invention would revolutionize software development drastically, its the holy grail in programming.
Some attempts were made in the past to simplify software engineering, for example there are macro languages available like Visual basic, and there are high level interpreted language available like python. in both cases, the programmer can write an entire applications with a few lines of code which reduces the effort. But these tools haven't replaced programmers, somebody has to enter the source code. Creating a video game in Visual basic or in python will need lots of man hours.
The open question is, if the artcraft project has found the answer to the productivity limit of human programming. The promise of a large language model combined with an agent workflow is, that a machine create the entire software project from scratch. If this promise is valid, its equal to breaking the sound barrier in software engineering.
[1] Brooks, Frederick: The Mythical Man-Month, 1975
November 03, 2026
Artcraft and the mythical man month
Labels:
Programming
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment