Great article. This post got me thinking a bit about how we operate here at Perl Monks. Some would consider this post OT, although not many, judging by its reputation. It would, on the other hand, probably be a "bad thing" if comp theory were to dominate the discussion, since this is a site about Perl. Nonetheless, it is very useful to look at the big picture when Perl Monking.
Relatively often, a new Perl programmer asks a question about a piece of code that suffers from a serious lack of computational understanding. The typical result is that we correct the poster's error, and she learns that doing what she did was not one of the right ways to do it. But we correct the person by saying, "how about this" or "I'd do it like this" or "Why not this way" and then posting code. The poster may have learned something, but she probably hasn't gotten the big picture.
When someone asks a question that is purely Perl, we should answer in Perl; but when someone is missing a point that holds true in all languages (perhaps space or time mismanagement) we should take a moment to fill them in on the theoretical considerations, if only minimally, and provide some references for further study. Not that I'm necessarily planning to take the trouble to do this every time a post like this comes up, but I should. If everyone does it from time to time, we'll encourage people to become better programmers and help Perl by making Perl coders more skilled. Just my little rant.