Programming; Today VS The Past

Blessing Adesiji
Geek Culture
Published in
2 min readFeb 10, 2022

--

Programming today is very different from the programming of the past.

Photo by Markus Spiske on Unsplash

Programming of the past involved knowing basic algorithms, a language that you used to generate code, and then a compiler that transformed the code into machine-executable instructions.

Today, the language is increasingly high-level, and the code that is generated is not machine-executable. What makes programming of the past different is that the code that an algorithm produces is a functional and deterministic outcome. With code as deterministic as that, it becomes much easier to debug because the code is clear and has a logical purpose. This can be very powerful in debugging a program, but the downside is that programs are very difficult to make. One reason is that the process of making a program is a very human one.

Programmers write code, debug code, and rewrite code until the program is finally complete. The end result is, the code is not completely deterministic because the code is the result of the human process. This process is extremely complex in that it is composed of many other human processes. One example of such a process is bug fixing. A bug is the result of a human process, and it is very difficult to identify which process is at fault, and how you could fix it.

Another problem is that with such a deterministic process, it’s difficult to make new code. The process of making code is a long and involved one that is very difficult to repeat accurately and to reproduce. In contrast, programming today is based on algorithms, which are very difficult to understand, and often can’t be reproduced exactly. If the code is a deterministic output of an algorithm, and the code is the result of human process, it is very difficult to make such a robust process repeatable. Because of this, programming today is much more complex than the programming of the past.

--

--

Blessing Adesiji
Geek Culture

A Developer Advocate, writes about Software Engineering, Data Science, ML & Blockchain Dev