top of page

Programming the first program


In modern-day’s world, literally everything can be done on a computer or other smart devices. At first there were apps that could calculate in lightning speed, then there are translation apps, then apps for document compiling and storage. As time went on, apps got more sophisticated, allowing human beings a better, faster, more convenient way of life. You need food? There’s an app for that. Booking a ride? There’s an app for that. Travelling to the other side of the world and make reservation for a double-bed room and a fancy dinner? Of course there’s an app for that too.


In such an explosion of information technology, it’s easy to forget how it all began. Apps were written by coders, using a programming language, most notably C#, C++, Java, Python, etc. Companies spend days and nights writing countless lines of incomprehensible text, then the programming platforms do it magic, and we are then able to, say, send $10 to a friend in three clicks. However, one question remains: “How did people program programming platform?”, or better yet, “How did people even put the first computer program into a computer?”. As unless there is something to be done digitally, the computer is no more than a well-designed block of metal.


The history of the computer is rather controversial, specifically in any “first” events. Some might say Charles Babbage is the definitive godfather of the computer, although he never came up with a functional product, while the much later Z1 computer by Konrad Zuse was the first to be realized. Even so, Zuse’s invention was not considered “fully functional” as it did not have “memory”, meaning that no program can be stored inside the machine. What we are certain is that computers work, or “speak” in a very different language than we do. Therefore, to make a computer understand what we want it to do, we need to “teach” it our own language.


The problem with early computers was that, unlike humans, early computers did not have a “brain”, meaning that it cannot learn languages the way we do, by understanding grammar, remembering vocabulary, and practice pronunciation. In the most basic form, any computer is only a combination of electric circuits, which only have two states: 1 (or ON, meaning there is electricity passing through) or 0 (OFF, meaning the circuit is open). This is often referred to as “machine language”, or “binary language”. For any computer to work, the final input has to be done in lots of 0s and 1s.


In the “dark age”, computer programmer is not only a mentally, but also a physically-demanding job. Early computers were huge, as the only way to put any information into it was turning on and off “switches”. To write a code, first a programmer needed to visualize what they wanted to do, then write down on paper the thought process. After that, they need to then translate it into binary, digits by digits, lines by lines. They do this by creating a set of rules that need to be followed. “Later” computer models have 7 switches in each lines, with each “slot” being either 0 or 1. Therefore, the translations were determined such as:

0 is 00110000

1 is 00110001

2 is 00110010

A is 01000001

B is 01000010

And so on…


This was done in two ways. Some models work on punch cards, which are physical cards with holes that can be punched in specific locations, resembling 0 and 1 (punched or not punched). Stacks of card form a “program”, which were then placed into a “reader” to execute. The second method is using magnetic storage, which means flipping switches on and off, corresponding to each digit, and hit another button to submit the digit into the storage. The data is stored in the same way today magnetic parking cards work, except for early memory storages being humongous.


The earliest forms of programs are called BIOS (Basic Input/Output System), which allowed programmers to make “commands”. In easy-to-understand term, instead of showing the computer that 1+1=2, 1+2=3, … every time we do anything on the computer, we can do this pain-staking job ahead of time, so that the next time we need to do addition, we only need to put in A and B, since the “BIOS” has the command “A+B=C”. Of course, the full explanation is not as simple, but there are hundreds of pages concerning the topic that can be found online. As time went on, more and more commands were written and hardcoded, allowing the machines to execute more sophisticated commands. Someone then connected a keyboard into the computer, and converted each button into a digit, making the process of writing codes “a bit easier”. The process can be compared to the invention of the first bronze tools, using basic rock tools and fire.


Thanks to the hard work of these early geniuses, we had better, fully-functional platforms on which later programmers build their products. We went from machines that require an entire room of its own to devices that can fit comfortably in pockets, from a 512MB memory block the size of a table to 1TB drives the size of an iPhone, from paying in thousands of dollars to only around $100 for a decent computer setup. In memory of those who dedicated their lives to make ours easier, the international Programmers’ Day is held annually on September 12, when you can give them a huge shout-out!

Comments


Rì-viu học sinh ❤️
facebook_icon.webp
Nơi chúng tôi nghiêm túc
@cplusenglish
instagram_icon.webp
Nơi chúng tôi share story học sinh
@cplusenglish
tiktok_icon.webp
Nơi chúng tôi
vô tri @cplusenglish
facebook_icon.webp
Nơi chúng tôi quậy
@trungtamanhngu
lauhaingoai
button_meomeo.webp
Bảng vàng IELTS ✨
Học liệu ngữ pháp 📄
bottom of page