This topic could be an entire book that I should write. It has been one of the more fascinating topics that has captured my attention, even at a young age. I have a theory that the language you know, the words you know, restrict your capacity for thought. A less sophisticated language would reduce your capacity for thinking in more complex terms. An advanced society, therefore, must have an advanced language to handle the complex thinking required to thrive in that society. It seems that for software developers to handle more complex systems, they needed a language for this purpose. Ivar Jacobson seems to have been one of the first to conceive of this idea, that there needed to be a rational way to capture user needs in a way that could be developed with modern object oriented programming.
When I was first teaching computer science in the mid 1990s, Jacobson and the other three amigos had just united under the company called Rational Software and out of that exercise they produced a new language for modeling software for object oriented design called UML. This is where I started to recognize that software development would not improve unless there were new ways to model, represent, and discuss complex requirements. The question to ponder from this example is, how important is language in the effectiveness of a team of people, a community, or society?
Later I would start to understand that this was a working theory in cognitive science and therefore had relevance to the same problem space that computer scientists like Jacobson were trying to tackle. Languages and notations we use do not just express thought; they shape it. This is certainly demonstrated in the explosive growth that object oriented design had once we had the language to talk about it. Nowadays when you say, “use case,” even non computer science people will recognize the idea that we need to write software from the perspective of the user. It seems obvious now, but there was a time when this was not obvious at all and the language we used to write software did not reflect this either. In cognitive science this is the “weak Sapir–Whorf” view (linguistic relativity), and in human computer interaction (HCI) we see it as the way notations and models scaffold cognition. Now, in the year 2025, we are rapidly heading down a path where there is going to be new language formed so that we can understand how to extrapolate the use cases that not only involve humans, but thinking machines as well.
If you stop to think about this for a moment, you will realize how true this concept is. Natural language sets the ceiling on what we can say easily; richer vocabularies make distinctions thinkable. A culture like mine is obsessed with time. We have many words for a variety of nuances regarding time which allows me to focus on the minutia, literally. Another culture may have no way to even conceive of this and any attempt to discuss hours, minutes, and seconds would be futile. This is also true of technical notation. You probably do not even notice how certain technical notation has crept into your life and how symbols and ways of representing the state of things are presented to you every day. These are important because technical notation, like diagrams, schemas, and specifications, are tools that extend working memory and allow us to see problems that we might not have been able to see before we had the ability to parse via the use of notation.
I will use a couple of examples to prove the point. What is the symbol for play, pause, stop, and fast forward? I bet you can put them into your mind right now. When you see a device that plays sound or video, you will instantly recognize these universal symbols. You can even troubleshoot what is wrong with the media player by seeing what “state” these various options are in.
I am old enough to remember when certain protocols were first invented. Things like DNS (Domain Name System) and the TCP/IP protocol stack were completely foreign when they came out. Interestingly enough, if you talked to a small child today about a .com or an IP address, they would know what you were talking about. It is quite amazing when you think about the evolution of social media symbols and the usage of certain characters. The @ sign, the # tag, and even the / as the universal separator have all become widely understood. Because our society now knows and understands these notations, it supports the idea that distributed cognition extends the mind, and with better representational systems we are uniquely better at problem solving.
There have been many social experiments regarding this influence of language on human thought. Some scientists have been more deterministic in their view, taking a more hard lined concept that your thoughts are actually confined to what language you can express. A small child, for example, is able to think but the thoughts are extremely basic and primal until they learn words that allow them to think in more abstract terms. Recognizing, for example, that something that is not here may at some point return. The theory would be that if there is no word to describe something, you really cannot think it. This is rejected by many, but it does create some food for thought.
Some studies have demonstrated that people born into cultures that have words for certain color shades are more likely to distinguish that color than a speaker from a culture that does not have a word for that shade. For example, a Russian might be able to easily distinguish between light blue and dark blue because they have unique and distinct words for these concepts. This has also been demonstrated in spatial orientation, where a culture can easily identify north and south rather than just left and right.
I bring this up because in my world, before use cases and UML, developers could still imagine user centered system behavior, but they lacked a shared, precise vocabulary to express it consistently. Once the notation existed, it channeled thinking toward certain kinds of analysis, making complex system design more tractable for large teams. In this case, since Jacobson came out with this idea of user centered design in 1987, there has been a remarkable transformation in the world of computer science.
This example from my career emphasizes that when you are existing in a team or group of people, there is a necessity for ceremony. When you dedicate time for ceremony, you are bridging shared language and shared representation between that group. When you do this, you are adding cognitive power. Maybe not at the groundbreaking level Jacobson did with the creation of the use case, but enough to get your team “on the same page,” to use the common expression.
The trick is to match language power to problem criticality: more formality where risk is high and lighter where discovery and exploration are needed. Richer, more complex language does not necessarily lead to clearer thinking. Too many rules can create friction in a team. When Jacobson first created the use case, it was nothing more than a paragraph with a diagram of a stick figure and an oval. As the community focused on this way of thinking, more formality started to present itself. Eventually the Agile development community would emerge in computer science to start formalizing ceremonies, or actual events that brought people together so that they could share and experience this phenomenon of shared language.
I bring this up because we all work in teams of people. This is how humans have survived and thrived for as long as we have. We take our shared language for granted, but every word we speak has a history and an evolution of creating shared meaning between us all. If language can indeed be this powerful of an influence on cognition and on the software development world, then perhaps we should spend time pondering the shared language we use in our families, on our teams at work, and in our neighborhoods and communities. I think if I were to end with something, it would be this concept — language and the ceremonies that we establish to reinforce them are important. Ignore this at the peril of being dysfunctional. Embrace this and learn what the true capability is of a team of humans who have the same shared goals.