Don’t confuse syntax with reasoning

This article asks if programming is the new literacy: …we have in a sense returned to the Middle Ages or ancient Egypt, or even before. Then, if you needed to communicate your thoughts on paper, you couldn’t do it yourself. You had to hire a better-educated person — a scribe — who knew the writing code. Then, at the other end, you needed someone to read or decode it — unless, of course, you were “well educated,” that is, you had been taught to read and write and thus had become literate.

If we define “programming” broadly — as the article does — then yes, working with things technological is a form of literacy. But the thing that separates a literate programmer (or person) is a mastery of ideas, not the use of a certain syntax.

Everyone is capable of learning a grammar and a syntax. We all know at least one language. The literate person is the one who starts with a solid architecture of ideas, and does a masterful job of putting together sentences to describe them.

The essence of a good programmer is the same. The first step is having a clear sense of logic: ideas, their relationships and their implications. The programmer is then judged by their ability to express those ideas the raw syntax of a language. Both are necessary, neither is sufficient.

A person that knows how to arrange curly brackets and keywords might be called a programmer. But their skills are worth very little in the service of a confused idea.

(By the way, having recently constructed an operating agreement for my company, I realize that law is a form of programming.)

So I think “programmers” will continue to distinguish themselves from “regular” people. The tools will certainly change; the building blocks will get bigger. But best manipulators reasoners set themselves apart in any age.

Published March 14, 2010