I once read about an interesting, invented word: “obsoledge”˳
Obsoledge means “obsolete knowledge”˳ Meaning, information that USED to be true… But because of our rapidly changing world, is no longer true˳ And when we do not realize that, then we get trouble – making choices based on assumptions that WERE valid once, but are not valid NOW˳
Now, obsoledge is an interesting word˳ But it’s even more interesting when we look at the “meta” level˳
Because once upon a time, that word did not exist˳ Someone coined it, because it is a useful idea˳
I wrote about “obsoledge” in my email newsletter once, and got this upset email from an un-subscriber:
“When I saw “confirm your subscription to learn the one secret word,” I became concerned this site was a fake˳ I checked and found that they seemed to be reputable, so I decided to proceed˳ Finding out that the “word” was “obsoledge” (not a word) was quite a let-down˳”
This expresses one view of reality:
That the words in a language are already defined˳ That new words are added to a language rarely, if at all˳
Someone can have a successful life with that way of thinking˳ It works˳ Over 90% of all humans think this way in their day to day lives˳
I have noticed, though, that some of the highest performers in programming have a different mental model:
“Words are labels for concepts˳ New concepts can be created˳ And we can create new words to give our mind a better handle on them˳”
Which one is more “correct”?
Who knows˳ A much better question:
“Which way of thinking is more USEFUL?”
Well, that depends on the context of the person’s life – what their career is and what they are doing˳
But for those of us who code for a living, whether you are a data scientist or a web developer or something else…
The “words are labels” frame is FAR more powerful˳
What are some “invented” words in Python?
Just from the reserved keywords, we have await, def, elif, nonlocal, lambda˳
What about invented CONCEPTS? For example, when I train people in a “deep dive” into truly understanding Python generators, I make a big honkin’ deal about the distinction between “generator functions” and “generator objects”˳ I do that for several massively important reasons˳ But the important point here is that there are two labels for two related, yet distinct concepts:
- generator function
- generator object
No other language has anything exactly like a Python “generator function”, nor exactly like a Python “generator object”˳ So we give them these novel names˳ LABELS˳ Which lets you put a handle on the concept in your mind, as you reason about them in your code˳
(These labels are phrases, not single words… but I hope it is clear that does not matter at all˳)
As you think about all this… a question for you to ask yourself:
How have you “invented” words for concepts while writing code, or while LEARNING to write code?
And: how has doing that benefited you?
Source by https://ezinearticles˳com/?Genius-Principle:-Word-Thinking-Vs˳-Concept-Thinking&id=10427922