Email or username:

Password:

Forgot your password?
Anders Borum

Donald Knuth on the rewards of computer programming

Computer programs are fun to write, and well-written computer programs are fun to read. One of life's greatest pleasures can be the composition of a computer program that you know will be a pleasure for other people to read, and for yourself to read.

Computer programs can also do useful work. One of life's greatest sources of satisfaction is the knowledge that something you have created is contributing to the progress or welfare of society.

Some people even get paid for writing computer programs! Programming can therefore be triply rewarding on aesthetic, humanitarian, and economic grounds.
46 comments
ɗ𐐩ʃƕρʋ

@palmin That's it, that proves it. Knuth is an alien.

toooobeeee :verified:

@palmin I totally agree- though the second paragraph does disturb me a wee bit.
Isn't the principal goal for a computer program to "do useful work"? The "also" seems misplaced.

athas

@toooobeeee @palmin no, most of Knuth's programs are written as literature, and often for educational purposes.

Ayke van Laethem

@toooobeeee @palmin ever heard of the demo scene? Are those programs "useful"? Probably not, but they are certainly interesting and worth writing!

Thomas Guyot-Sionnest

@toooobeeee @palmin not always, it can be just for the sake of it, and I quite liked the apparent dissociation between fun to write and fun to read. I'm sure these perl japh programs were hella fun to write!

retas.de/thomas/computer/progr

There's even contests for the most obfuscated programs!

ioccc.org/

OSIRIS

@palmin Our company motto is: Create value, Do good, Have fun.

I never knew it was a Knuth paraphrase.

Cybarbie

@palmin Fun being highly subjective. Knuth's thought that littering your code with comments in latex made it fun to read.

ctan.uib.no/web/c_cpp/cwebx/ex

For quotes I prefer "Beware of bugs in the above code - I have only proved it correct, not tried it."

crazyeddie

@nf3xn @palmin Who hasn't just hammered out a quick, untested example in literate programming when someone asked a question?

Central Illumination Agency

@palmin Going by what I see on here, most developers seem to score at best 0.5 out of 3.

crazyeddie

@palmin He's not working in a corporate environment. He doesn't know the Jira shuffle. :p

Anders Borum

@crazyeddie 😏

The quote predates Jira by ten years but one could also argue that all the corporate rituals aren’t really computer programming.

Steve Jones

@palmin "There was a dream that was programming".

This is not it!
Daniel Marks

@palmin Doesn't this apply to most creative acts, especially the practical arts or engineering?

Anders Borum

@profdc9 Many creative fields have no economic reward unless you are among the top ‰

Computer programming is very fortunate in that respect.

Mark T. Tomczak

@palmin I respect Knuth's opinion on this, but I think one of the biggest stresses in software engineering is that the people who find computer programs fun to read are not only a minority, they're a vanishingly-small minority.

I've never done a formal poll, but my gut suggests if I ask people "Would you rather spend more time writing code or more time doing peer reviews" the answer tilts very heavily.

... oh wait, I'm on Mastodon.

Jon Lasser is Hanging in there

@mark @palmin There’s an ocean-sized gap between reading a well-written program as a pleasurable experience and CRring someone’s ground-out hit-a-deadline nonsense grafted onto an existing monstrosity.

Mark T. Tomczak

@disappearinjon @palmin I don't know my poll question is phrased well enough to tease out that gap... But I'm not sure the gap is as wide (for most devs) as many believe.

I've read Knuth, for instance. He's inscrutable. It is, perhaps, the case that his programs in his tutorial language don't count as "well-written programs" in this sense (perhaps partially because his example language is one step removed from assembly).

Martin Escardo

@palmin

Substitute program for proof, and I agree, except for the last item, economic reward.

Rob

@palmin He had to have written this prior to Silicon Valley startup culture taking over

Miah Johnson

@palmin Clearly, few engineers at Google have read Knuths The Art of Computer Programming, but surely they have it on their bookshelf to impress people.

RS, Author, Novelist

@palmin

[#Knuth asserts #programs can be pleasing to write, to read, and can serve humanity whilst incidentally making money.]

The reality is rarely this. Most programs grow into monsters as you add features sales wants and don't always benefit the end user. The foundation of a three story house is different from a building designed with one floor, but time constraints get in the way of planning and doing it right. You get an unstable remudddle. Most programs aren't pleasing to read, aren't pleasing to write due to constraints, and in the end don't fully serve the slice of humanity they target. They make money though. I wonder what #Google search looks like on the inside...

#Programming #Coding #Retired #Programmer #Author

@palmin

[#Knuth asserts #programs can be pleasing to write, to read, and can serve humanity whilst incidentally making money.]

The reality is rarely this. Most programs grow into monsters as you add features sales wants and don't always benefit the end user. The foundation of a three story house is different from a building designed with one floor, but time constraints get in the way of planning and doing it right. You get an unstable remudddle. Most programs aren't pleasing to read, aren't pleasing...

pfernandes

@palmin Knuth is amazing. I recommend everyone to listen to his interviews with Lex Fridman

cliffordheath

@palmin Computer programs are annoying to write, and badly-written computer programs are annoying to read. One of life's greatest miseries can be the composition of a computer program that you know will be frustrating for other people to read, and for yourself to read.

Computer programs can also impede useful work. One of life's greatest sources of despair is the knowledge that something you have created is contributing to the regress or poverty of society.

cliffordheath

@palmin
Some people even get under-paid for writing bad computer programs! Programming can therefore be triply degrading on aesthetic, humanitarian, and economic grounds.

Anders Borum

@cliffordheath maybe it is time for a professional change of scenarie if that is your personal experience with computer programming 😬

RanaldClouston

@palmin I was inspired to use this quote at the start of the lecture I delivered today, which was the final lecture of my course on intro programming. Funnily enough this is the right ordering for programming education; the programs they write for class are not put to practical use, and the experience *costs* them money, but hopefully they do get fun and satisfaction

Fish Id Wardrobe

@palmin I mean **in theory** this is all true. But. BUT

Bennolius 😷💉⁴ | ☀️💨🔋| あ-Я

@palmin I wonder if he would still think that if he ever came across modern "enterprise" software. 😅

abekonge

@palmin we should reframe this as “Knuth’s Test of Programming Value” or something: if the thing you do does not pass these three requirements, then it failed. It could be a requirement for when you are looking for jobs: i want paid vacation and Knuth’s rewards…

Cegorach

@palmin yeah… but… "can"

most gigs I had were neither of those three things

Alexa Fontanilla

@palmin
#PostOfTheWeek (season 1):
“The Art of Computer Programming" by Donald E. Knuth (American computer scientist), has had a profound impact on the world of computer science. It is considered a milestone in the field of computer science and algorithms. In this work, Knuth not only explains how to write a program but also provides an in-depth examination of fundamental algorithms. These algorithms help us understand how programs can be executed more effectively and efficiently.

Anders Borum

@AlexaFontanilla2024 These are great books but nothing has required me to read as slowly and deliberately to understand it as these.

wakame

@palmin Some people confuse fun with typesetting. :blobcatgiggle:

Arne Meier

@palmin this is a great quote. In my data structures and algorithms lecture I like to show these two quotes that are somewhat related.

Go Up