Comment

Comment by kohanz

If you believe that "everything is known" when playing the game of chess, I suggest you challenge Magnus Carlsen for the title of best player in the world right now!

edit #2

Just thought of the perfect (pardon the pun) analogy. Chess has perfect information in the same way that a large code-base with 500k lines of code has perfect information. When I ask you how much time it will take to implement or refactor feature X, do you think you'll have enough time to read and learn the entire code-base before answering? How you approach that problem is almost exactly how you think through a position in chess.

edit #1

(tldr; chess teaches you to evaluate an overwhelming large number of options to evaulate and choose what you think is the best one in a reasonable amount of time, without having all the answers)

In all seriousness, the ability of human reasoning is finite and the skills that we apply to chess to deal with the seemingly infinite problem space apply very much to other things like programming. When we decide not to thinking deeply (e.g. multiple moves in) about a certain line of moves, it is because we do not deem them worthy of further thought, in the same way that I would, at an early stage, discard the option of refactoring an entire code base because, on the surface, the cost-benefit analysis is just too lousy. Also, in the same way that I can only think about 15-20 moves ahead at best along certain decision trees, I can only foresee and estimate so much of a software project before the limits of my knowledge and prediction power fail.

parent kohanz 11 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton