A great description of what most programmers really have to deal with every day.
In college computer science classes, we learn all about b*trees and linked lists and sorting algorithms and a ton of crap that I honestly have never, ever used, in 25 years of professional programming. (Except hash tables. Learn those. You'll use them!)
What I do write – every day, every hour – are heuristics that try to understand and intuit what the user is telling me, without her having to learn my language.</blockquote>
From <a href="http://wilshipley.com/blog/2009/08/pimp-my-code-part-16-heuristics-and.html" target="new">Pimp My Code, Part 16: On Heuristics and Human Factors</a>. This also has a great example of the contortions one must make when dealing with real world users and real world data.