As the history of Application Development is quite a short one so far, it is very likely that we today still base what we do on very recent developments. This is of course if we compare it to other engineering or craft ships. To understand the applications and the problems we face today, it is worth to understand how application development did evolve in since the first ever written Program on an electrical computer in the 1940s. There have been computers before that were built to fulfil a specific Task but considering our definition of hard- and software today, those machines were a very dedicated pieces of hardware, that were not able to universally perform different tasks.
The theory behind these ideas have been thought of long before and, even never actually build the analytical engine at the time, Ada Lovelace and Charles Babbage can be conceived as the first notion of a real developer. In the 20th century Alan Turing and Konrad Zuse worked on the first real computers and during the second world war, Zuse did run the first computer program. Due to the distortions of the world, his work was not uncovered for quite some time.[1]
At the same time the ENIAC was used by the first programmers, who mainly were women at the time, as these machines were used by the humans that worked as calculators before – mostly woman. Even though programming can be seen as a more physical task, considering of turning switches and connect plugs with wires.
The history of application development though was an exponential curve and after Grace Hopper did build the first compiler and later helped to invent COBOL, programming became mainstream.
The first developers
As mentioned, in the 1940s for the first time a computer was really programmed by software and not by plugging wires and flipping switches. This new way to develop applications was now open to a much wider group of people and allow a higher throughput, as the machine not physically needs to be reconfigured for different tasks.
The power of computing became very attractive to organizations around the world. With COBOL being designed to be used by People that were not trained engineers, simply by the use of English instead of a symbolic coding.
It’s much easier for most people to write an English statement than it is to use symbols. So I decided data processors ought to be able to write their programs in English, and the computers would translate them into machine code.
Grace Hooper
Computers also, for the first time were not a research machine but available to be used by companies and administrations. The hired Programmers though never actually used the computer themselves; they developed applications and asked an operator to execute those applications on the computer, but usually not interacted with the computer directly. At that time the use of a computer and the programming were two very distinct tasks. While the Programs were written on a piece of paper, there were other people punching it into punch cards that then were run by the operators.
With the now started run of Programmers creating software, very quickly the first problems became obvious. There was no formal education on how to write applications and no best practices were established. The computers at that time had very limited resources and the applications needed to be careful with resource consumption. The notion of online applications was not yet established, so most of the developed applications back then were batch oriented. At many customers parts of these early applications are still in use today and caried along their technical debt.
Thank you for this compact and informative blog, dear Tobi! It´s so great that you are doing this.
Since we also regularly exchange ideas in our joint “Mainframe – What the heck” podcast since June 2020, I am totally happy that you have now started this blog! i´m excited about what will happen here on the blog in the near future and hope to contribute a little input from my side from time to time as well.
On the subject of Grace Hooper & Co: hopefully also an always important info for the young female talents in the community to deal with the topic of IT: We need them to overcome the challenges on the platform.
See you soon