Skip to main content

What is Programming?

 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

Popular posts from this blog

Learning Programming in 2023

Learning Programming in 2023 Earlier this year, I finished the equivalent of high school in my country (Brazil). Admittedly, I felt lost. "Where I will go" and "What I will do" were the types of questions that stormed my head through days, which turned into weeks and then months. Not that I had never asked myself such a question before; rather, it's just that I had never really answered it . The mental pressure to conform to a new life, a life that requires a level of autonomy that I had never experienced before, coupled with a heavy dosage of self-criticism, was exhausting and nearly led to depression.  In spite of this, I now realize how fortunate I was to have had this time in my life, as many people in my nation and over the world lack it. Many drop out of school to work on the streets as early as 10 years old because their family will starve if they don't. Many others graduate in fields they detest because they never saw or were never given another opt...

Disclaimer! One Blog to Rule them All(?)

 Disclaimer! One Blog to Rule them All(?) Before uncomfortable situations arise, a few facts about this blog need to be made clear in this post: I'm going to exclusively talk to you about my experience with computers and programming, which is my chosen topic. This blog is only "personal" in the sense that it is written and owned by one person with a personal goal; it does not mean that I will divulge or discuss completely unrelated personal information , such as my mother's cake recipes—though you would wish I did in this case. I'm not an authority or a professional in the subjects I write about! Any information provided here should not be taken carelessly, and my posts should not be viewed as lectures.  It's possible that I provide inaccurate information or fail to include crucial details or subtleties along the way. As a rule of thumb, you should always check the information for yourself. But don't worry, I do my research before writing any posts, and I...