Hacker News new | ask | show | jobs
by donaq 4837 days ago
Hi, I used to write code like your 21 nested callbacks, so I'm baffled by your friend's assertion that no programmer would be so patient. I've always thought that the patience to grind endlessly at a problem (or bug) without an obvious solution was one of the more laudable shared virtues of our tribe. Patience is, in fact, a vital part of my learning process.

In fact, I think that's probably a part of the reason why some programmers don't have patience for beginners with a lot of questions. It's because beginners actually have Google and StackOverflow these days, so it might seem like laziness to someone who had to learn using books and man pages. It's not that they don't like to share their knowledge, it's that they think the answer is already there if you'd bothered to look. I'm not saying that they're right to have that attitude, by the way. I'm just trying to present things from their perspective.

3 comments

Yes, but that "patience to grind endlessly" is typically applied towards a different goal.

Sure, you can spend an afternoon or so to write and debug those 20 nested callbacks, but surely, it is more fun and thus better to spend a couple of _days_ thinking of the problem, googling for solutions, getting distracted by some nice algorithm, attempting to apply that in a totally distinct, perfectly working part of your codebase, renaming a couple of functions, etc., and finally replace that nested thing with some carefully placed '.each' or '.map' (after gauging which solution looks best, aesthetically)

Yes, there may be commercial pressure to ship a product, but in the hearts of many programmers, the journey is the reward.

"I divide my officers into four groups. There are clever, diligent, stupid, and lazy officers. Usually two characteristics are combined. Some are clever and diligent -- their place is the General Staff. The next lot are stupid and lazy -- they make up 90 percent of every army and are suited to routine duties. Anyone who is both clever and lazy is qualified for the highest leadership duties, because he possesses the intellectual clarity and the composure necessary for difficult decisions. One must beware of anyone who is stupid and diligent -- he must not be entrusted with any responsibility because he will always cause only mischief."

Granted, Kurt von Hammerstein-Equord was a nazi fuck and was talking about leadership, but I have found the best programmers are extremely lazy, however they have a constant drive to figure things out, take them apart, and put them back together again. They also generally have a need in the same vein of "write programs so they don't have to do the work of copy pasting 100 times in the first place" even if they spend 4 hours figuring out to do that.

I'm just trying to figure out at which point this conversation invoked Godwin's law... Seems ambiguous in this case.
Did you read my post?

"Granted, Kurt von Hammerstein-Equord was a nazi fuck"

Nope, you didn't.

Did you read his link?

"He is famous for being an ardent opponent of Hitler and the Nazi regime."

Nope, you didn't.

I think that the lack of patience refers more to dislike of redundancy - to an experienced programmer (including present-day OP), the repetition in that code seems absurd; there simply must be a way to refactor it into something simpler. We go out of our way to make tools that automate repetitive processes, we have principles like DRY, etc. Once a problem is solved it should stay solved.
"Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris." -- Larry Wall