Skip to main content

Definitions Are Important (really)

 Definitions Are Important (really)


 
Some time ago, I got myself wanting to read economics books. I remember that I picked up "The Constituition of Liberty" by Friedrich Hayek—worry not, your death by boredom or scientific jargon overflow is beyond the scope of this post. One of the things that really stuck with me was on the very first pages, where Hayek identifies a harmful problem surrounding the subject matter of the book: most people have no concrete grasp of what "liberty" means. He spent roughly 10 pages of his book setting up what he meant by the term and comparing his definition with the many others that are out there.
 
"And why is this important?" Everyone has seen this before: two people seemingly arguing about the same subject, but in reality, their perceptions of it are so dissimilar that the entire conversation is pointless. Definitions are crucial because, without a shared understanding of the meaning of the terms we employ, communication is impossible (unless the entire point of the exchange is to discuss the definition itself, something that is mostly reserved for academia). This is the reason why formal definitions are a top priority in science and in technical environments.

 To exemplify this in a slightly exaggerated way, we cannot properly talk about dogs if I, hypothetically, define "dog" as a "fluffy animal", and you define it as a "carnivorous mammal (Canis familiaris) closely related to the gray wolf that has long been domesticated as a pet". By the definition I would be using in this scenario, even a bear could be seen as a dog (something absurd), but to you, reasonably, it couldn't. Our entire exchange would be pointless. 




The definitions some programmers give of seemingly basic terms—like "code," "language," "value," "data," etc.—tend to be contradictory, ambiguous, or sloppy.  It's also possible that these terms aren't even defined in materials that are meant to be instructive (i.e., aimed at beginners in the area). A lot of people genuinely don't care about theory or give it much attention, but they nevertheless act as though they understand it, which is terrible to anyone trying to learn from them.

Furthermore, a variety of factors, including context and experience, can impact the inferred meaning of any given term. For instance, in procedural and object-oriented programming, the term "function" might mean different things (more on this later), and an experienced programmer may hold more detailed definitions, adding nuances that a beginner would otherwise miss.

Some books and websites address these problems by providing tables of definitions along the way. I'll make an effort to imitate that on this blog. Once more, my goal is to share my understanding rather than impart knowledge; yet, in order to accomplish this, my readers—particularly those who don't belong in the programming community—need to be able to relate to my writings, which they cannot do if they are bombarded by unfamiliar terminology.

That's it for now, stay tuned for more! 

The Stache is Out. . 


Comments

Popular posts from this blog

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 - Cl

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