Is Programming Dead?

I read this piece at last. I am happy to see this discussion to gain momentum in the computer science community.

The article suggests that “programming will be obsolete”. The main idea in the article is not really what comes to mind when you read this specific expression. The author clears the confusion by stating that “new” systems will be trained, rather than programmed.

However, I believe humans will be “programming” in the future for sure but with evolving interfaces.

The current level of IDEs is a milestone in this evolution. They changed the extend of what a programmer can do before the compilation.

The introduction of internet which is an ever-changing knowledge base is another milestone.

We also didn’t have this level of comprehensive programming libraries in the past.

The interpreted languages that are developed in the public as open source also shape the way we program today.

So the mode of programming always changes. But the direction does not change: if it speeds up the process, it is adopted, otherwise forgotten.

The idea that the author suggests, which I’ll name as “data-based programming”, is not a new concept, but a very interesting and rarely mentioned emergent topic. In a way, we were always building programs as we train machine learning models. Instead of relying on the intellectual capacity and knowledge of the programmer and the designer, we now have another source: data. Think of it like this: when we need to determine the right value of the threshold to check against in an if-expression by ourselves, we turn to the data and calculate a specific statistic, which is usually an estimate based on the training data.


I will briefly mention that, in this time, it is essential to work collectively to build a meaningful and useful enough software that may also lead to business value creation. The daily life of a programmer is filled with several types of communication, information building, or technical tasks other than mere programming. This makes it hard to replace the programmer with an artificial agent that can just handle programming tasks.

In theory, these tasks can be handled by a general purpose artifical intelligence agent too, but I believe the human as the “programmer” will stay there as long as the current economic system is in place, as the source of the capital depends on not returning the full amount of value that the worker created. One cannot pay a machine less than it requires as the payment is already done. One may think that if you supply less electricity it counts as paying less. However in that case its output should decrease, and in turn the profit. Moreover, as the requirement to pay the cost of capital upfront makes it impossible to pay less, the rate of profit is set by the producer of the machine. I will leave these notes as is for now.

Onur Güngör
Onur Güngör
Part-time faculty at Bogazici University & Data Science Manager at Udemy

Data science manager leading a team that aims to understand the course content at Udemy. Part-time lecturer at Bogazici University giving a lecture titled “Transformer-based Pre-training Methods for Natural Language Processing”.