A Case Against Stack Overflow
Stack Overflow (SO) is a fantastic resource in many ways. It provides countless answers to common problems and often will alleviate the terrible anguish and frustration that every programmer encounters at one point or another. It has produced a community of experts and dedicated individuals that maintain order and high-quality content. SO is the Wikipedia of practical programming knowledge.
However, SO is not a panacea for all challenges in programming,
and at times promotes laziness.
I often encounter questions like “What does X
mean in Y
?”, when
Y
is something heavily documented, like Python or htop. I’ve even seen
answers that copy directly from the said documentation without
any citation or mention of it. For beginner programmers, relying
on these types of questions/answers seems reasonable.
But for an experienced programmer who is
familiar with man pages, language references, etc.,
looking up “easily answerable” questions on SO is lazy!
Being able to efficiently use original documentation is a powerful
skill. From it, one can often glean more in-depth information
than from a simple SO answer, and often develop a better intuition
for fundamentals.
Of course there are some caveats to this policy:
- some
Y
s have poor documentation - some SO answers are profound and enlightening
- sometimes you’re pressed for time
Nonetheless, there is a transition that every programmer has, from novice to journeyman and beyond. It is important that one understands both the value and the limitations of SO, and avoid overly relying on the resource. Next time you are looking at a list of Google results and have the choice to pick between an SO link and the original documentation, temper the perfunctory inclination to choose SO.