iTranslated by AI
Software is Kotodama: The Soul of Naming

I wonder how many people know about "Kotodama" (the spirit of words)?
It is the idea that a soul or spirit dwells within words.
Even if you are familiar with the term, you might think, "That sounds a bit unscientific."
In fact, many Japanese engineers today are non-religious and feel distant from such concepts.
However, let me state this clearly.
It is precisely in the world of software that Kotodama exists.
There are various principles for creating excellent software.
KISS, YAGNI, DRY, SOLID, SoC, SLAP, CQS... and so on.
But at the root of them all lies the most important thing in coding.
That is Naming.
I believe many of you would agree with this.
Good Naming → Improved Readability → Reduced Bugs → Software Evolution
Professor Hilbert
There is a saying by the great mathematician David Hilbert:
"One must be able to say at all times—instead of points, lines, and planes—tables, chairs, and beer mugs."
In mathematics, no matter what you name an object, as long as the logic and structure are consistent, what is correct remains correct.
Software is technically the same.
Whether a class name is X, Foo, or PaymentProcessor, the program runs, and the compiler doesn't care.
But humans are different.
Code with poor naming instantly becomes incomprehensible.
Success in team development depends on whether everyone can maintain a proper shared understanding.
When we look at variable or class names, we aren't just reading them as simple strings.
We are reading meaning and intent from them.
That's why I can say this:
The soul of software dwells in its names.
Modern Software Development and Kotodama
This concept of "Kotodama" is actually surprisingly similar to software design.
Intent
- Parents give their children names infused with wishes or meanings. This is the idea that "the name expresses the substance."
- Programmers name variables and classes to give them specific roles.
Encapsulation
- In ancient times, there was an idea of protecting oneself by hiding one's true name, known as imina (taboo name) or mana (true name).
- This is strikingly similar to the concept in object-oriented programming of "hiding the internal state (
private) and exposing only meaningful abstractions (public)."
Naming is crucial.
Names instantly convey intent, structure, and understanding.
That is Kotodama in software.
Even in the AI Era, Names Determine Everything
And this has become even more prominent in the AI era.
Prompts written with high-precision naming generate surprisingly high-quality code.
This is because AI processes not just logic, but also the meaning we provide (semantics).
GR Naming Cheat Sheet
So, to make use of this "Kotodama," I created the GR Naming Cheat Sheet.
I'm sure it will provide some hints when you're struggling to find the right name.
I would be happy if this sheet makes your code just a little bit better and if that software makes someone—including myself—a bit happier.
References:
Discussion