
Clay Shirky writes in Boing Boing about the traits that make good programmers. He quotes a study using questions like the one above, given to students on the first day of an introductory programming class:
To write a computer program you have to come to terms with this, to accept that whatever you might want the program to mean, the machine will blindly follow its meaningless rules and come to some meaningless conclusion.
Shirky coins a great phrase, but the study itself is about consistency and rule-following as much as it is about meaninglessness. The authors themselves introduce meaninglessness by giving the students a test in a language they don’t understand. They might as well be giving English speakers a test in Swahili.
It is true that some good programmers have come to programming from mathematics, and that one point of view in the philosophy of mathematics (formalism) holds that mathematics is a game played with meaningless symbols on pieces of paper. So it is certainly possible to see a connection between programming and meaninglessness.
On the other hand, engineers tend to make good programmers, too, and they’re mainly interested in getting things done in the real world. If a guy programs a simulation to make sure that a bridge doesn’t fall down, it’s hard to accuse him of meaninglessness. The shared element is the consistent application of logical rules.