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.











