I love “computer” 1 programming. There are many good programming principles that can be applied to life.
Take for instance the difference between syntax and semantics in language. Syntax is the nuts and bolts. It’s the grammar, the rules that tell you how to construct a sentence correctly. Its meaning is derived solely from how the words fit together. The sentence:
Water trees from drink brook the.
…has no syntactical meaning. And yet, you and I know what that sentence is trying to convey, don’t we? That’s called semantics.
Semantic meaning is derived from the context of the sentence, based on a priori knowledge. Your life experiences, your age, your wisdom – these allow us to infer meaning to chaotic elements. We can look at the sentence above and interpret the jumbled nature to see the greater structure:
Trees drink water from the brook.
I like to think that a great many of our confusions in interacting with each other have more to do with syntactical confusion, rather than semantic. We are too focused on the trees by the brook, rather than the forest.
- “Computer” is used here as a layman’s sort of “catch-all” descriptor. For in reality, I have had the privilege to be involved in a variety of different types of software, from embedded C and assembly firmware to Microsoft Windows industrial control LabView/LabWindows C, and a spattering of other interpreted scripting languages. The target hardware then is far more than just a computer, but sometimes an embedded controller, the cloud, etc.