7/20/2017 06:16

Programs versus Puzzles

I've never really liked puzzles. I've never much liked any sort of puzzle, but the ones I'm thinking about now are mostly the ones dignified as "intellectual" puzzles: In the far reaches of some unexplored ocean (whose identity had to keep changing as the world was more fully explored) there were two tribes. One tribe always told the truth and the other tribe always lied. While traversing this far-away ocean, you happen on a canoe with three men. You say, "Do you tell the truth or do you lie?" Because of course even in a far distant and unexplored ocean the natives all understand English. And the man in the front of the canoe says, as he must, "I always tell the truth, but these other two, they lie." And the man in the middle says ....

I don't want to be too harsh. A puzzle like that one can be an interesting exercise in exploring the power and the limitations of pure logic. Given the ridiculously artificial assumptions of the story, can logic establish to which tribe each of the three men belongs? But when was the last time you met a human who always tells a lie - or even one who always knows, accurately, what the truth is so as to be able to lie? And supposing that such peoples could exist, what is the chance that they would coexist in a canoe in the middle of an uncharted ocean?

Such a puzzle can be an interesting introduction to the study of logic, but you aren't much of a logician if you don't recognize that these puzzles have nothing to do with actual reality.

In a sense it isn't the puzzles themselves that I dislike so much as the people who like the puzzles. Granted, many puzzlers can be perfectly normal when they are away from their fantasy land, those puzzlers who can step away. When they do step away, while they are not functioning as puzzlers, I can like them well enough. But for the most part I don't like their puzzles and I don't like the puzzlers when they are in their puzzles.

I do like computer programming. I'm the guy who may find himself writing code in my head, and often fairly good code, when rousing out of sleep in the morning or drowsing off at night. So I disprove the unfortunate notion that programmers like puzzles.

I wonder, though, if perhaps puzzlers tend to become hackers. How else does the hacker become immersed in somebody else's worldview without ever appreciating the other's vision? The name itself means to cut up other people's work and perhaps reassemble the pieces; hacking is the practice of creating junk. At its best hacking makes useful junk out of previously built junk. At its worst it hacks up something useful which someone else created and leaves a mess of bits and pieces.

I've never liked hacking. But it occurs to me that hacking is a practice which makes some sense within the puzzler worldview. It does require a certain abstract logic but it does not demand much commitment to truth or to practical purpose. Hacking makes sense if you reduce life to a series of things you do just to show that you can.

A real programmer creates beauty: agathon at the least, if not often kalon; something functionally beautiful and maybe once or twice something beautifully true, and always founded on actual reality and useful in playing the game.


Links