What is Computer Programming?

Understanding what programmers do and don’t do

Mad Lunatic
3 min readApr 22, 2021

This is to give a basic understanding of what programmers do, and how they do creates all sorts of applications that run on computers, iPhones, tablets, and androids.

I’m going to answer some basic questions that I’ve had regarding programming going into it.

For starters, programmers give instructions to machines. These instructions generally organize and manipulate numbers, text, date and time information, colour, collections (lists, sets, etc.) of information (date/time, colour, numbers, text, etc.), etc. to tell computers what to do.

How do they the machines interpret the instructions?

This knowledge is actually usually out of the scope of a programmer’s understanding. Those that made the specific machine, and designed the programming language, which directly or indirectly (ie. through other programming languages) link the instructions designed by the programming language to the hard machinery.

A programming language is just the set of simplified, human readable way of writing those instructions. Those that designed the language will have a better understanding of the link between the language and the machinery.

Think of it like how blacksmiths won’t always know about how to mine metals, and swordsmen and gunners won’t always know about how to smith their weapons.

Those that designed the language may or may not know about the underlying work — but at the end of the day, it’s still not their responsibility to know. It’s not what makes a programmer, a programmer.

How do the machines create graphics with instructions alone?

There is machinery to do the math to compute which colour goes on every specific point (called pixels) on your computer screen. Once that is computed, that information goes to the hard internal machinery that manipulates colours, and updates your screen’s graphics as per your given instructions.

Many programming languages allow you to manipulate graphics across your entire program. You can set the colour at any point on the screen or the application that you’re designing.

For most things, this is not a major worry, unless you want to include components in your application that are rare, uncommon, or entirely new. Most programming languages offer common components and their graphics naturally updated for you.

How do programmers generate random numbers?

There’s certain mathematical functions that programming languages offer that take a seed as input, and return a list of seemingly random numbers that seems to have little to do with the seed itself. However, this list depends entirely on the seed, and this can be noticed by programmers retrieving the same result if they were to use the same seed as input.

So the way to get truly random behaviour, is to use a seed that depends on the date and time. This is something that can always be done.

So say I use a seed of 1, I may get something like this: 93, 2358, 850285, -8, 6738628, 78922355, 2390450, etc.

This is a seemingly random list of numbers. I can use these numbers to generate seemingly random results.

However, the same seed will return the same set of seemingly random results, because the list of numbers is actually dependent on the seed. And so, a seed based on the date and time is used to ensure randomness.

Conclusion

I hope this covered a basic idea on what to expect when you learn to code. If this raises your curiosity, then I hope you’ll dive deeper into the realm of programming. If not, then not everything is suited for everyone (that, or I’m just a terrible explainer).

--

--