Bullshite
At first, philosophy confused the shit out of me. For the love of (proverbial) God, I could not figure out what some philosophers were talking about.
As a teenager, I’d read passages, or hear people cite them while nodding their heads, and I was completely lost.
“Am I really this stupid?” I remember asking myself.
Being insecure about it, I pretended to understand. Trying hard to be a member of the cool kids club, I even tried writing some ‘philosophical essays’. These were nothing more than word salads, which I thought sounded like the writers I admired.
Don’t judge me. I was young and naive.
But, to be fair, the blame is not only on me. There is a long tradition of unclear and confusing writing in philosophy and many adjacent disciplines. Tomes of books have been written in such cryptic language that only a few people can be said to fully understand what they’re saying (and we can’t be sure they aren’t pretending either).
One of the most serious consequences of unclear writing is the confusion it causes in young minds. It can permeate a budding mind and leave it confused for years. Many otherwise smart and reasonable people fall into this trap.
Seeing the Light
Although I can’t be 100% sure that I am out of this trap now (we never can), at least I recognize how stupid I was before. From my current vantage point, I see through the charade of my youthful intellectual pretensions.
I’m sure many people feel this way. Experience that comes with age makes one wiser, at least a bit. Many philosophers changed their worldviews as they grew older. Some of them, like Ludwig Wittgenstein, went even further, writing books that explicitly denounced their earlier claims.
But mere experience is not always enough to make you wiser and recognize the mistakes of your youth. Sometimes, you need an additional push.
In this lesson, I will explain an idea that (I think) helped me break out of the cycle of stupidity and recognize the point of all philosophical writing.
The idea is very simple, yet it can take you a long way in your intellectual journey. It is based on thinking about philosophy as an engineer.
I Think, Therefore I Engineer
Let’s start by thinking a bit about the object of philosophy. What does philosophy work on? What is its bread and butter?
As banal as it sounds, the object of philosophy is just words.
But, unlike linguistics, philosophy is not interested in the shape of words, their meaning, or their origin but in what lies behind them.
And what lies behind words are concepts.
It is not easy to define concepts, but we can think of them as thinking devices that help us represent a complex part of reality.
For example, words like justice, animal, and tool are concepts that represent some part of the reality we exist in. They are not mere words, though. They come with a heavy baggage of meaning and reference. To understand any concept, we must grasp many other things (concepts, ideas, or values) that the concept relates to. We can’t understand the concept of justice unless we understand concepts such as society, reciprocity, responsibility, obligation, authority … and many others.
Understanding concepts requires a certain dose of intellectual maturity. Small children don’t understand concepts that well. Very often, they’ll confuse words and use them inappropriately (often being hilarious doing so). My kid used to call any meat she liked ‘chicken’ because chicken was her favorite type of meat.
As thinking creatures, we’d be completely lost without concepts. They are, as one psychologist put it, ‘the glue that holds our mental world together.’ Whatever we do, we rely on concepts to guide us. Imagine feeling sick and not having any familiarity with concepts like doctor, appointment, medicine, disease, or cure.
So, how does philosophy deal with concepts?
Describing and Prescribing
There are two ways philosophers have engaged concepts in their work.
The first way is to describe the existing concepts. Many philosophers, from Aristotle to Kant to Kripke and beyond have done this. For example, a popular sport in the philosophy of knowledge (AKA ‘epistemology’) is describing the concept of knowledge. Since Edmund Gettier, an American philosopher, wrote a paper in 1963 about knowledge, philosophers have been kicking their asses trying (sometimes to the point of painful meticulousness) to describe what it exactly means to know something.
The second way is to design new and/or to fix the existing concepts. This is a revisionary, and more modern idea of the role of philosophy in relation to concepts. Many contemporary social and political philosophers write in this tradition. For example, some of them, like Anthony Kwame Appiah, or Sally Hasslanger advocated for a radical change in the concepts of race and gender.
While I don’t always agree with everything they say, I consider myself part of the second gang of philosophers. Most of my philosophical writing (here’s a sample) belongs to this tradition because I believe this is where philosophy really shines: in engineering new and repairing broken concepts.
Anatomy of A Concept
To understand how concepts can be engineered and repaired, we need to go under the hood of ‘the concept of the concept’ and see what lies underneath.
First, we must understand that concepts are words for ideas that persist over time. They are transferred from one generation to another. Chances are that your parents and grandparents have more or less the same concept of government as you do.
Second, each concept contains rules defining what falls under it. For example, the concept of government will not include my morning bowl of oatmeal or your neighbor’s cat. Philosophers (as people in love with fancy words) call this the concept’s intension.
What these criteria are is not always straightforward, and when pushed to the extreme could show that some concept memberships will be a bit fuzzy (try analyzing why a platypus is not a duck, and you’ll see why). But, overall, the concepts’ intension will be useful enough to enable you to live as a reasonable human being and understand what people mean when they say words like cappuccino.
Third, each concept will have a set of things it applies to. This is called the concept’s extension. It is literally a list of all things the concept defines, describes, or refers to. The extension of the concept of a dog will cover all those creatures who can be referred to as dogs (their pronoun is ‘woof’).
When well-engineered, concepts will include all the things they are meant to include and none of the things they are not. If it is successful, the concept of a dog will not include your furry classmate who thinks she’s one just because she barks and her boyfriend has her on a leash.
Finally, concepts are not just descriptive words. They help us represent and engage with reality. In other words, concepts are practical. They give us frameworks for doing things in the world, like meeting, voting, healing, loving, buying, borrowing, moving, and pretty much everything else. For example, consider the concept of a date (as a day in the calendar).
What does it allow you to do?
Exercise 1: What are the intension and extension of the concept of a date?
How Concepts Are Born
Most of the conceptual engineering today will be based on fixing the existing concepts. Very rarely will we have an opportunity to create new concepts from scratch. This is because we are born in a fairly advanced civilization, in which language and social interaction have advanced sufficiently enough to create many useful concepts, which we had the fortune to inherit.
Earlier generations of people, such as American Founding Fathers, for example, had the opportunity to create some of the most famous concepts we use today (like the Constitution, or freedom of speech). Today, we mostly focus on improving and/or adjusting our inherited concepts.
Sometimes, however, we will create new concepts. Folks working in technology, a domain of constant change, invention, and evolution will be in this position more often than others.
Exercise 2: Think about what new concepts you have learned since in the past two years. I'll give you one: the concept of a prompt. While the word was used before in a different context, the advance of generative AI has brought us prompt as a new, standalone concept.
If we want our newly created concepts to be successful, we have to make sure to create them according to a few criteria. Computer scientist Daniel Jackson said that good concepts must be:
Expressed precisely
Understandable and intuitive
Independent and modular
Composable
The first two criteria are self-evident. Concepts that are not expressed precisely or understandably and intuitively are useless.
The second and third criteria require some explanation. First, concepts are independent when they can be understood without relying heavily on other concepts of the same level of complexity. For example, the concept of justice is independent of the concept of animal, which makes it easy to work with (both might be dependent on larger umbrella concepts, such as society, or living beings, but that is not a problem).
That is because concepts are modular when they can be used to create further concepts (think of concepts as LEGO blocks that can be stacked to make bigger ones). Concepts like justice, government, people, tradition, and others compose the larger concept of society. The concept of a tomato can be understood independently of the concept of a tomato sauce, which makes it sufficiently independent. Furthermore, tomato sauce can be understood without reference to an entire meal. It is also modular because it can be used to make a pizza topping, a larger concept composed of nested, smaller ones.
Bad Concepts
Unfortunately, philosophical literature is rife with concepts so terrible to make your brain explode. When you’re young and inexperienced (like I was), they make you feel stupid and confused.
But, once you learn about conceptual engineering, you can see that the problem is very often in these poorly designed concepts themselves.
Here’s a short and non-exhaustive sample of (what I think are) bad concepts from philosophy:
Différance, coined by French philosopher Jacques Derrida. It tries to define how signs come to have meanings. Derrida says that signs get meaning from their relation to other signs, but they also contain ‘traces’ of past meanings and ‘haunts’ from future ones. When I think about the ‘STOP’ sign in traffic, I don’t see how this concept applies. It is not very intuitive.
Rhizome, coined by French philosophers Gilles Deleuze and Felix Guattari. It attempts to describe non-hierarchial networks, but it is not clear why the word ‘network’ is not used. Deleuze and Guattari say that rhizome refers to "connections between semiotic chains, organizations of power, and circumstances relative to the arts, sciences, and social struggles." I have no idea what this means. It is very broad and vague (lacks precision).
The Gaze, coined by French psychoanalyst Jacques Lacan (something is fishy about these French dudes). The concept tries to describe the person’s awareness of other people’s perception of them. Lacan thinks of it as “the anxious feeling that one is being watched,” but then it is used to describe relations of power and discipline in society (‘male gaze’ is a popular one). I get the idea, but find it very confusing when I try to analyze social relations of power.
Intersectionality, coined by American scholar Kimberle Crenshaw. It tries to describe overlapping systems of oppression. For example, a person may be oppressed based on her gender, race, and age (like a triple whammy of oppression). The concept’s extension is too wide, causing people to overuse it as an analytical tool.
Social Construct, coined by American philosophers and sociologists such as John Searle and Peter Berger to describe ideas created through social convention. Nowadays used to delegitimize anything the person thinks ‘doesn’t really exist’. Also very wide in extension, allowing people to stamp everything as ‘a mere social construct.’
(Harry Potter and) The Art of Concept Maintenance
Fortunately, repairing concepts is possible, and as many philosophers, such as Herman Cappelen argue, advisable.
When a concept is vague, dependent, or non-intuitive, there are several things we can do to fix it.
First, we can redefine the concept to achieve greater precision and clarity. For example, in science, the concept of heat was redefined as a more precise concept of temperature. Similarly, in philosophy Deleuze’s concept of "differance" could be refined by clearly distinguishing between metaphysical and linguistic differences (differences of being and language), making it more applicable across disciplines without losing its philosophical depth.
Second, if the concept is too flawed, we can throw it away and introduce a new one in its place.
For example, in psychology, the concept such as hysteria was replaced by mental illness, a much better alternative. In philosophy, the concept of “rhizome,” which lacks clear boundaries, could be replaced with a more structured model of decentralized organization, making it more usable in fields like network theory or political science.
Third, we can realize that the concept is not helpful and reject it without providing an alternative. Some philosophers would argue that a concept such as free will is impossible to define more precisely, so we should just give up on using it in our reasoning. A similar case could be made that “the gaze,” as used in psychoanalytic and feminist theory, is too ambiguous to function in precise analysis, and we may be better off abandoning it.
Concepts are Everywhere
Once you start thinking about concepts, you will start seeing them everywhere (like Zendaya or Ryan Reynolds).
But, unlike Zendaya, this concept-induced madness will not make you go crazy. Quite the contrary. It will help you understand many things, both ancient and modern.
For example, it might help you understand how some fancy philosophical metaphors, like Plato’s Allegory of the Cave, apply to real life. In this allegory, Plato has two prisoners chained to the cave facing the wall, seeing only shadows that the real things from the outside throw on the cave walls. When a prisoner escapes the cave, he faces the ‘real things’ and concludes that everything he believed while living in the cave was a lie.
Based on this story, many students and more experienced adults have rushed to conclude that the reality we live in is nothing but an illusion, while the supposedly ‘more real’ world is somewhere outside. Popular Hollywood movies such as The Matrix have helped further entrench this interpretation, as have centuries of religious education that promoted the idea of the fakeness of the ‘material world’ and the reality of the ‘Kingdom of Heaven’ (some subscription options included sexy virgins waiting for you there).
But, I think that a much better interpretation of Plato’s famous allegory is to think of it as an invitation to understand the importance of concepts for our everyday life. Namely, every thinking person uses concepts to make sense of their experience. When we think about dogs we don’t think about every dog on the planet; rather, we think about (here’s a philosophical word you’ll hate) “dog-ness”, some kind of property all dogs have in common that enables us to think of them as separate from cats or socks.
Being an educated and enlightened person means being able to understand the difference between concepts and their incarnations (or instances). In Platonic terms, we exit the cave once we can recognize the existence of two separate domains: the perceivable material world (things we see, or instances) and the world of representations (ideas about that material world, or concepts). What lives on the cave walls are perceivable everyday things (this particular dog, that particular croissant); what is outside are concepts helping us make sense of them (the concepts of a dog, croissant, and many others).
When you step into the realm of concepts, you realize that concepts determine how we understand things. They are the ones that give meaning to words we use to think and make decisions in our lives. They shape our everyday experience.
Python for Philosophers
If you’ve read any of my previous lessons, you’ll know how much I like computational thinking. This is because its main principles (decomposition, abstraction, pattern recognition, and algorithmic thinking) encapsulate perfectly what I think are the best virtues (and, frankly, the main purpose) of philosophy: precision and clarity of thought.
One of the best computational tools for understanding how concepts work comes from a type of programming I discovered when I learned Python, called Object-Oriented Programming, or OOP.
If you’ve never heard of Object-Oriented Programming, don’t worry. It’s just a fancy way of structuring ideas in programming, and interestingly, it connects directly to how we use concepts in everyday thinking.
In OOP, we don’t just deal with raw data like numbers or text—we organize things into classes and instances. And this is exactly what we do with concepts.
Let me show you briefly how this works. I’ll assume you’ve read some of my previous lessons and/or know a bit about Python.
If you haven’t, read it here:
Classes and Instances: A Software Analogy for Concepts
A class is like a concept—it defines the structure, rules, and general properties of something. Meanwhile, an instance is a specific thing that belongs to that concept.
For example, in Python, we can create a class called Dog
. This class will define what it means to be a dog—perhaps that all dogs have four legs, bark, and enjoy belly rubs. To keep it simple, we’ll assume that for something to be a dog, it has to have a name and a breed.
So, we’ll create a class like this:
Think of this Dog
class as just a blueprint. It’s an abstract idea, a concept, just like “dog-ness.”
Here, we created the class and added two properties to it: name and breed. These are analogous to the intension of the concept of a dog. They define things that make something a dog.
We also defined what the class of dogs can do: in this case, we gave our dogs the ability to bark (to say “woof”).
In Python, we give properties and functionalities to classes through functions, recognized here by the word def
. The first function is the initializing function, (__init__
) bringing the class (with defined properties) to existence. Other functions will have more descriptive names, depending on what they are about (like bark
).
But if we want an actual dog, we need to create an instance of this class:
When creating the instance, we add content to the properties defined earlier. In parentheses, we specify the name and the breed to be “Fido” and “Golden Retriever.” After doing that, we use the ability defined in the class too and make our Fido bark.
Now, fido
is a specific instance of the concept of a dog: a real, material dog in the world of Python.
If Plato Could Write Python
Plato’s cave analogy says that we mistake shadows on the wall for reality, but true understanding comes when we recognize the world of concepts behind them. In the same way, if you’ve only ever seen one dog (let’s say Fido), you might think that this particular furry creature is the only true dog. But once you grasp the concept of dog-ness, you realize that Fido is just one instance of a much broader category.
The same logic applies everywhere. The croissant you had for breakfast? It’s an instance of the broader concept of croissant. Your best friend? An instance of the concept of human (though maybe a flawed one, depending on how annoying they are).
Why This Matters
Thinking in terms of concepts vs. instances isn’t just a useful mental trick—it’s the foundation of how we make sense of the world.
If you’re designing a new app, you’re working with classes of things (users, messages, products) and their instances (that one user, that specific message).
If you’re debating politics, you’re comparing abstract principles (justice, freedom, equality) and how they apply to specific cases (this particular law, that specific event).
If you’re falling in love, you’re juggling the concept of love with its actual messy reality (your partner’s weird obsession with conspiracy theories).
Understanding this distinction—between general concepts (classes) and specific instances—will make you a better thinker. Whether you’re analyzing philosophical ideas, writing code, or just trying to make sense of everyday life, the same mental structure applies.
And just like in programming, some concepts (or classes) need improvement. The good news? Concepts, like code, can be refactored—cleaned up, rewritten, or even replaced with something better. You simply go back to the code where you defined the class and change its properties and functionalities.
Wait, There is More
Object-oriented Programming is much richer than I can describe here. I invite you to learn more about it on your own. But, I can’t leave you without mentioning how some ideas from OOP can help us understand the world of concepts even better.
I’ll mention three: inheritance, encapsulation, and polymorphism.
Inheritance in OOP: Building on What Already Exists
One of the most powerful ideas in Object-Oriented Programming (OOP) is inheritance. In simple terms, inheritance allows us to create a new class (concept) based on an existing one. The new class inherits the properties of the old class but can also introduce new features or modify existing ones.
This is exactly how new concepts evolve in philosophy, science, and everyday life.
Let’s say we already have our Dog
class from before. But now, we want to introduce a special kind of dog—maybe a Guide Dog (one trained to help visually impaired people). Instead of creating everything from scratch, we can make GuideDog
inherit from Dog
:
Now, GuideDog
automatically inherits all the features of Dog
(like having a name
, breed
, and the ability to bark), but we’ve added a new property (trained_for
) and a new behavior (assist
).
Let’s create an instance of GuideDog
:
Even though GuideDog
is its own class, it inherits everything from Dog
—this saves time, avoids redundancy, and makes the code more structured.
Just like in programming, new concepts often inherit from old ones. Instead of reinventing the wheel, we refine, extend, or modify existing ideas.
For example:
Democracy → Liberal Democracy
The general idea of democracy (rule by the people) has existed for centuries, but modern liberal democracy inherited its core principles while adding new elements (like human rights protections, constitutional law, and multi-party systems).Newtonian Physics → Einstein’s Relativity
Einstein didn’t reject Newton’s laws—he expanded them. Relativity inherits classical mechanics but modifies it under extreme conditions (like high speeds or strong gravitational fields).
In philosophy, law, science, and even daily conversations, we inherit older concepts and adapt them to new situations.
Encapsulation: Keeping Concepts Self-Contained
Another important OOP principle is encapsulation, which means keeping the internal details of an object hidden while allowing controlled interaction with it.
Think of a smartphone. You don’t need to understand how all the circuits and code work—you just use the interface (buttons, touchscreen, apps). Similarly, good concepts should be encapsulated—you don’t necessarily need to know every philosophical detail of justice to apply it in everyday discussions.
Let’s create a class smartphone as an example of encapsulation:
The battery level is encapsulated—the user interacts with the phone without needing to manually control the battery.
Similarly, concepts should be useful without exposing unnecessary complexity—you don’t need to understand all of Plato’s Republic to discuss justice in a practical way.
Polymorphism: The Same Concept, Different Forms
Finally, polymorphism means the same function can work in different ways depending on the context.
For example, different animals make different sounds, but we can define a general speak()
method that works for all of them:
You can see here that the functionality speak()
looks the same from the outside, but it generates different outputs depending on the class (concept) it is applied to.
In philosophy, some concepts are polymorphic: they take on different forms in different contexts.
Freedom can mean political freedom (rights, democracy) or personal freedom (autonomy, free will).
Power can mean political power (governments, institutions) or physical power (force, energy).
Love can mean parental, friendship, or erotic love.
A good thinker understands when a concept changes its meaning in different situations, just like how polymorphism allows the same function to work in different ways.
Exercise 3: Make a person class in Python. Add whatever properties you think a person should have. Add some functionalities: what can a person do?
Conclusion
Understanding what concepts are and how they aid our cognition can help you go far on your critical thinking journey. They unite different areas of thought, from ancient philosophy to modern software development.
I’m curious to hear your thoughts. Feel free to drop a comment below!
Well, what Stephen said, it can be the problem treating philosophy and the world around us like a computer language. In philosophy, you object, for example, using ‘free will’ or ‘the gaze’ as valid philosophical concepts because of the ambiguity of their meaning. But computer coding will not help you with solving that problem, I think. If you use an ambiguous object as an input you’ll still get, let’s say, unexpected value as a result. It’s not the functions that are the problem in philosophy or the understanding the world, but how we define the concepts or the objects. 😏
I’ll need to reread to digest this, but what a fascinating idea. I love the intersection between philosophy and programming. I’ve always wanted to learn more about philosophy. Perhaps translating Python concepts is the way to go!