Google defines programming as “the process or activity of writing computer programs.” But I think these are a lot of words that don’t tell you much. Simply put, programming is when you tell a computer to do stuff. But wait, that’s not clear enough, so let’s break it down.

“Tell a Computer”

How do you speak to a computer? You can’t open up a document in Microsoft Word and expect the computer to have a conversation with you like Harry Potter did with Tom Riddle. Instead, we speak to computers with specific languages, called programming languages. There are different programming languages out there with different attributes.

Programming languages are analogous to spoken languages. To illustrate this, allow me to make a wild comparison between French and Python (a popular programming language). Imagine you want to tell a “story” using these languages. You may write a poem in French, and a game in Python. You could’ve written that poem in any language, the same way you could’ve written that game in any language. However, it may be that French poems sound the nicest and that is why you chose French. It also may be that Python makes for a smoother game development process and that is why you chose Python.

Note that neither of these examples I said is necessarily true. I have no idea if French is the best language for nicer sounding poems and I doubt Python is the best language for smooth game development. The principle, however, still stands. Learning a programming language is not too different from learning spoken languages.

“To Do Stuff”

So you can speak to a computer, but how do you tell it what it has to do? The answer resides in algorithms. This word is easier to understand than you may think, and unlike what I thought when I first heard the word, it’s not related to logarithms at all.

What is an Algorithm?

An algorithm is a set of directions. That is all there is to it. When someone asks you how to get to your house, you may give them an algorithm. “Take 2 rights, a left, then go straight for ten blocks” would be an algorithm. The goal of programming is to give the simplest algorithm to solve a certain problem. Instead of “take 4 rights, go straight, make a U-turn, then go left” you could just say “take a right”. This second algorithm is far simpler, easier to understand, and easier to implement.

So What?

You’re probably thinking, “great, programming languages make computers do things, why should I care?”

It’s hard to make it sound amazing when you put it that way, but I’ll try my best to convince you. If I ask you to tell me what 2x2 is, you’d pretty easily tell me that it’s 4. If I ask you to tell me what 22x22 is, (without a calculator) then it would take you some time to tell me. If I ask you to tell me what 222x222 is, you’d have to spend even more time calculating. But, enter it into a calculator, and you get your answer immediately, whether you ask it what 2x2 is, or what 2222x2222 is. Furthermore, have you ever heard of a calculator forgetting to carry the one? Of course not, because computers do exactly what they’re programmed to do. No more, no less.

Drawing on some personal experience, I made a program in Python not too long ago that asks a user to give any number. Let’s say I enter the number 100. The program would then save an Excel spreadsheet with dimensions 100x100, and the spreadsheet itself was a comprehensive multiplication table. This program worked its magic in the blink of an eye. Can you imagine making that Ex cel spreadsheet of 10,000 cells by hand?

Calculators and spreadsheets are just a small little sample of the power of programming languages. Every app you use, every game you play, is all powered by programming. Every day people in all fields and industries use programming, not just computer science. Computers can carry out tasks methodically and with precision to an extent that no human being can replace. As technology improves, so does the developmental process of programming, making it easier and easier for people to program with little to no prior technical knowledge.