What is Programming?
"Programming" has been around for nearly a century and a half, not a few years, and it has become one of the key aspects of our everyday lives in the past two decades. So, what is it anyway? What's my current understanding of this? Let's define it and continue our journey from here.
Programming is the process of writing, testing, and maintaining computer programs. Those who work with computer programs are called programmers.
A computer program can be defined as a computational algorithm executed by a computer and designed to accomplish a specific goal.
Defining "computational algorithm"
First, let's build a brief understanding of what an algorithm is.
An algorithm is any set of sequential, unambiguous, and precise instructions designed to accomplish a specific goal.
For example, an oversimplified algorithm for posting on Instagram:
1 - Pick up your phone;
2 - Enter your password;
3 - Click on Instagram's icon;
4 - Click on "New Post";
5 - Write in the box;
6 - Click on the "post" button.
Notice that the term "algorithm" is not limited to programming and does not necessarily refer to recommendation algorithms—those that run on websites like Facebook and YouTube and are constantly criticized by the public and media.
A computational algorithm is a category of algorithms that involves only data manipulation and mathematical operations. (We are going to define data in some other post; suffice to say here that it can mean "information").
For example, add two numbers:
1 - Get value 1;
2 - Get value 2;
3 - Do value 1 + value 2;
A program can be as simple as the sum of two numbers or as complex as Einstein's General Relativity within those bounds; it all depends on what its goal is.
Finally, from what we've seen thus far, it's vital that we infer one piece of information: a computer cannot infer missing information and is completely blind to context. Computers require the precise instructions we've discussed (far more precise than my examples) as well as the necessary information to function properly. It will not add two numbers if the instruction it's given is simply "add two numbers", not specifying which numbers those are (and it gets deeper than that).
"Programming" as a field of work
There are many different occupations today that fall under the umbrella term "programming" (as a field of work), such as data analyst, data engineer, web developer, mobile developer, and so on, but they are all programmers in the sense that they work with programs; the difference lies in how they do it, for what purpose and their additional responsibilities (I'm probably going to make a post focused on this).
That's it, basically! In further posts, I will delve into some nuances here and explore other concepts; stay tuned!
The Stache is Out.
Comments
Post a Comment