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 postin...

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