Computer programmers are exceptional thinkers. By which I don’t necessary mean they are “exceptional” in the sense of “outstanding” (although no doubt some are). I mean they are trained to think about exceptions (to the rule), about what might happen.
Computer programmers, in general, think about all the possible paths a system could take. When creating email software, they have to think about all the possible ways a user might use the software. There are the obvious actions the user is supposed to perform to read or write email. But there are also “What happens if I click this?” moments to consider.
It’s not about just of the “correct” ways but also about the “incorrect” ways!
Computer programmers, and others who work with languages, sometimes use the related terms: semantics & syntax. They are concepts with a specific application to language, but language is communication and there are many forms of communication. For example, when music is viewed as a language one can apply the concepts of syntax and semantics.
This article (in my queue for years) was meant to introduce those two concepts, but my vision for this blog has evolved in ways that largely moot those original intentions. Why write about topics no one is casually interested in, and which are already covered in exhaustive detail elsewhere for those with a serious interest?
Besides,… this one… turned out different…