Hacker News new | ask | show | jobs
by alex-g 4514 days ago
There is no royal road; or if we want some mystical woo, we could say that the journey is the destination, or something. I think that if you're trying to understand P-vs-NP it's not a matter of proceeding definition by definition. It's more like simultaneously approaching the question from lots of different angles, in order to build the mental connections between P-vs-NP and other topics. That includes Turing machines, formal languages and automata, reductions, big-O analysis, important concrete problems in P, NP, or neither, important algorithms and methods, and so forth.

Recursion is probably the same way. For Colbert purposes you could certainly come up with some glib explanation. When I, or you, or anyone else, have learned recursion we've probably started with that, but then proceeded to build connections with induction, PL semantics, computer architecture, compiler/runtime implementations, and all the other allied topics.

But I do think the earliest, most informal, explanation has its place too, because you have to start somewhere. The learning process is (at least for me) more like proceeding through lots of explanations of the same thing, at greater levels of detail and with different metaphors and external references, than it is like a linear progression from topic to topic.