Today’s post is going to be a ramble. In this post I want to talk about languages, both human spoken and programming languages, how culture influences the languages we speak and programming languages we write, and the role of AI.
It is weekend, Saturday, and I went swimming earlier this morning. I had a good lunch and now I am somewhat sleepy. I don’t want to break my writing streak, I am on my 27th writing streak today. My writing streak is a great example of taking small steps. I enjoy writing, but this is the longest writing streak I have ever maintained.
The Universal Challenge of Learning a New Language
Learning any new language is tough. For a human language, like German or Arabic, you’re not just memorizing vocabulary. You’re trying to grasp complex grammar rules, master different pronunciations, and understand the script itself. It’s an immersive, often frustrating, but ultimately rewarding process.
Programming languages present their own unique hurdles. While the grammar (syntax) is rigid and unforgiving, you’re also learning a completely new way of thinking. A logical, step-by-step approach to problem-solving. It’s less about conversation and more about instruction. The computer is a literal-minded listener, so every command must be precise.
How We Process Language vs. How Machines Process
Our brains are incredible language processors. When we hear a sentence, we instantly parse its meaning, context, and even the speaker’s tone. We can deal with ambiguity, slang, and incomplete sentences. Our understanding of language is deeply rooted in our shared human experience and ability to infer meaning.
Machines, on the other hand, have no such intuition. They process languages using a strict set of rules. For a computer to understand a programming language, the code must be perfect; every semicolon, every bracket, every keyword must be in its place. This is where compilers and interpreters come in. They are the translators, converting the high-level code we write into the binary 1s and 0s that the machine can execute.
The Underlying Commonality: Grammar and Syntax
Despite their differences, all languages share a fundamental structure: a set of rules governing how we put words together to create meaning.
- Human Languages: Have grammar rules that define sentence structure, verb conjugations, and word order. A sentence like “I go to the store” follows a subject-verb-object pattern.
- Programming Languages: Have a strict syntax that dictates how commands must be written. For example, in Python, indentation is crucial, while in C++, a semicolon is required to end a statement.
Just as a misplaced comma can change the meaning of a sentence, a single typo in code can cause an entire program to fail. Both types of languages are built on a foundation of syntax (the rules) and semantics (the meaning).
The Role of AI
For human languages, AI tools are changing the game. With devices and apps becoming more accessible with real-time language translation capabilities, it is a different era to live in.
For programming, vibe coding, AI agents, LLMs are changing the landscape at a fast rapid pace which sometimes can be so overwhelming. I wrote about AI FOMO in one of my earlier post.
Thanks to the AI boom, talking or coding in a new language has become relatively easier.
Culture & Languages
As someone who’s worked across different continents, I can tell you that the unspoken rules of communication are just as important as the words themselves. This holds true for both human and programming languages, and culture is the invisible force shaping everything.
My experiences with work culture in the U.S. and Europe, particularly in the tech industry, are a perfect example. While everyone speaks English, the way it’s used is vastly different. One specific example, based on my personal experiences, is around giving feedback. In US, people use a lot of positive words even to give negative feedback.
But in EU, it is more about being direct and to the point. In Germany, no feedback often means it is good. People tell you directly when there is a problem and you don’t have to second guess. I have a long post drafted on the topic of US vs EU work culture, but saved for another day.
Culture and Programming Languages: The Hard Problem of Naming
This cultural influence extends directly into the world of programming. Naming things in code is famously one of the hardest problems in computer science. The name of a variable, function, or class has to be instantly understandable and self-documenting. It often amuses me to see how people name things in code across the world.






Leave a comment