This Top 10 list of bad programming advice has some very defensible ideas, and some sections were the author seems to have missed the point on how conventional wisdom became conventional wisdom.
Digg commenters are not always the most insightful bunch, so the fact that the article copped a pasting there made me want to like it, but it has two main problems. The nested double negatives make it very hard to read, and for most of the advice you would be at least as bone headed to dogmatically never apply the presented advice as to dogmatically always apply it.
Can somebody explain “The a square is a rectangle problem” to me? To my mind, “a square is a rectangle” is a basic fact, not a problem. Maybe I need to learn to think outside the box more.
From the article:
People who think in such parallels are likely to find themselves confused if they run into the “a square is a rectangle” problem. In math, squares may well be subclasses of rectangles but making square inherit from rectangle is plainly wrong.
Why is it plainly wrong?