What do programmers and computers do?

Kornelije Petak
2 min readSep 15, 2023

--

Ever since I first saw a computer, I’ve always wondered how it worked.

Now I mostly know, but it was a long journey from playing Gorillas at the age of 10 to being a software developer almost 30 years later.

Why is the Gorillas game relevant? Because that was my first contact with programming. My uncle taught me that the way you run the game is to open QBasic, load the gorillas.bas file and press F5. That’s it. And for a while, I had been playing it this way without questioning a thing.

Then all of a sudden, I realized that the file I was loading was the actual code for the game. Of course, at that time I had no idea what code meant. But I knew it was something that was defining the game. To prove my hypothesis, I started to mess with the code. Not knowing much English as a kid, I tried to make sense of all the words I saw.

Since that day, I knew I wanted to be a programmer. Again, I had no idea what programmers were, but I knew I wanted to code games. This love for developing games pushed me to learn coding as a hobby.

Over time, I got interested in a bunch of other domains in software development. One of those in particular sparked a big interest: compilers. Every programmer should know what a compiler is; they use them when making programs or games, after all. But do they know what they do and how they do it?

And what of all the things that happen between a programmer writing code and an end-user using the application or the game? What does a computer do when given such programs?

This is something I wanted to write about. And thus I’m going to be writing a long series of posts about what programmers write when they code, and what computers do when they compile and run their code.

This is probably not going to be useful to developers who worked on compilers themselves. My goal is to share my thoughts and knowledge with developers who coded for a while already but are curious about how these things work under the hood. I also won’t be diving too deep into every bit and piece, but just into parts that I find interesting. If a more knowledgeable person stumbles upon these posts and finds errors in my words, feel free to correct me. I am always eager to learn more.

--

--