Hacker News new | past | comments | ask | show | jobs | submit login

Naur's way of formulating that very closely resembles an argument presented by Hubert Dreyfus in his book Being-in-the-World.

It's an interpretation of Heidegger, but it's very clear and "analytical." He's even got interesting stuff in there about artificial intelligence, and he influenced several AI researchers. There was even a brief surge of interest in explicitly "Heideggerian AI" which seems to be an origin of the focus now on deep learning and emergent concepts and stuff (though I don't really know the history).

Anyway, Dreyfus says Heidegger means that most human knowledge can't be expressed in terms of rules.

That's most obviously true if you're talking about something like juggling three balls: you can write a guide, but the guide isn't possibly "exhaustive" enough to explain it so well that a person could simply follow the instructions.

And the more detailed instructions you write, the more the learner is just going to be confused. You will need meta-rules for deciding which rule to choose to apply.

To actually learn juggling, you just need a very primitive mental description, plus a little bit of coaching from someone who already knows, and a bunch of practice.

I'm just getting into Naur's writings a little bit now, and I notice one of his major interests was "programming as a human activity," so I think it makes sense to apply this same "Heideggerian" notion to programming.

Naur wants to describe the real knowledge, or let's call it skill, that actually functions in the programmer to understand and modify the program. Rules can only ever be a partial and abstracted "handbook" for aiding the learning of that skill.

It's not that rules are useless; it's more that the skill itself does not have the form of a collection of rules.

Skimming through Naur's "Antiphilosophical Dictionary," [1] it's obvious that Naur was interested in this tradition of critical philosophy [2] that wants to dethrone the "cognitivist" view of thought. He cites Gilbert Ryle, another analytic postcognitivist philosopher who appreciated Heidegger:

> According to the legend, whenever an agent does anything intelligently, his act is preceded and steered by another internal act of considering a regulative proposition appropriate to his practical problem. But what makes him consider the one maxim which is appropriate rather than any of the thousands which are not? Why does the hero not find himself calling to mind a cooking-recipe, or a rule of Formal Logic? Perhaps he does, but then his intellectual process is silly and not sensible.

So I think this clarifies what Naur meant by a kind of "theory" not reducible to rules. And in the article itself, he explains that he uses the word "theory" with reference to Ryle.

[1]: http://www.naur.com/AntiphilDict.pdf

[2]: https://en.wikipedia.org/wiki/Postcognitivism

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact