One missing virtue is never impart programming advice or wisdom on the internet - Because 10 other programmers who know nothing about you or your job will tell you in detail all the ways in which you're doing it wrong.
This is essentially Cunningham's law, eh? Perhaps you want to learn how you could do it better!
Three virtues of a great programmer
71–80 of 141 posts
Re: Three virtues of a great programmer
#72Maybe it's not so much laziness, but more so a hatred of tedium.
Re: Three virtues of a great programmer
#73Re: Three virtues of a great programmer
#74I think Larry Wall gives us some great insights wrapped in great humour.
Re: Three virtues of a great programmer
#75I've never really liked his inclusion of hubris here. Hubris is often defined as unjustified arrogance. Justified confidence, even if you're a jerk about it, was never the fatal flaw of a Greek hero. So I've always substituted arrogance for hubris: the belief that you better understand, and can better address, the requirements than any off-the-shelf library/program/ecosystem.
I read hubris here as...you want to be the best, you don't want to be criticized, so you will work hard and be super motivated to make your program work very well, handling all the various edge cases, making it better than the competition.
Re: Three virtues of a great programmer
#76I'd add Curiosity instead of Impatience. Impatience is related to Laziness. In both cases we want the computer to do the work instead of us. But Curiosity is orthogonal and important. The best programmers I know were always curious: Why was it built that way? Why does it give that output? Why did she say that? Curiosity is the beginning of knowledge. If you're not curious, you will miss out on a lot of opportunities…
It doesn't work as well rhetorically as having all 3 virtues be typically thought of as flaws.
Maybe Snooping? Nosiness? Meddling?
Re: Three virtues of a great programmer
#77I would say that the character arc of Perl, and the profession generally, leads me to this observation: laziness and impatience are virtues. Be careful with hubris.
I'd even go so far as to say !hubris Pride often leads to unintentional blindness and irrational defensiveness. Humility is where the fun is.
Re: Three virtues of a great programmer
#78Re: Three virtues of a great programmer
#79It's the utter subjectiveness of "best practices" that aren't tied to actual issues of performance, security, or flexibility, or worse - blowing one or more of these attributes of good code way out of proportion to the actual importance of the code.
And "readability"? Don't get me started ... there's hardly a linter rule that I haven't seen turned into a caricature of what it was intended to do.
What devs do is part art and part science, and there's hardly consensus on which part is which.
Re: Three virtues of a great programmer
#80Related: The Three Virtues of a Great Programmer - https://news.ycombinator.com/item?id=32487944 - Aug 2022 (2 comments) Larry Wall's Three Great Virtues of a Programmer - https://news.ycombinator.com/item?id=24107571 - Aug 2020 (1 comment) Develop the three great virtues of a programmer: laziness, impatience, and hubris - https://news.ycombinator.com/item?id=11516215 - April 2016 (72 comments) The Three Virtues of a…