Live data from Hacker News

For Donald Knuth, good coding is synonymous with beautiful expression

quantamagazine.org

21–30 of 229 posts

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#21

Has anyone read his books? Seems like an interesting way to get into programming. I enjoy reading, but I never thought that a book about programming would present it's ideas and technical details through stories.

My first major programs were written under the influence of Knuth—I spent a lot of time reading the source code of TeX and its related programs and learned a lot from that. In fact, I only ever took one computer science class in my life (I went three times and got a C), so I'd have to say that Knuth was by far the most formative influence on my early programming. The other day I was actually looking to see if there was any trace of the DVI previewer I wrote for VM/CMS back in the 80s around on the internet. As near as I can tell, there is not. It'd probably be embarrassing to see (among other things, I didn't do any caching of font bitmaps, mostly because I didn't know how and didn't have time to learn, so every character displayed on screen re-read the bitmap data from disk).

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#22
post #9

Earlier quoted context omitted.

You've never experienced good art by a tortured artist, then?

That would be success in art but failing in life, by the quote definition, I infer he’s equating success in life with your minimum quality of life indicators being as high as posible, if I got it right.

That's how I read it also.

Take for example Kurt Cobain (whatever you think of him and his music). He had major success in music, but his life was a disaster and not something I'd hope for a loved one.

I do agree that it seems like the best art is created by "tortured artists".

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#23
post #3

People often say "TAOCP is a dense, technical book, you don't just sit down and read it cover to cover." It is dense and it is technical, but it's also a joy to sit down and read and this is why. Knuth doesn't present an algorithm and annotate it with (Foobar 1968) and that's that. He says "Bazquux came up with an early version of this algorithm in 1962 while working on missile trajectories for the Department of Defe…

I agree that Knuth's exposition is a joy to read, and there are a lot of significant mathematical insights to be had within those volumes. I just wish he could get away from MIX/MMIX. I don't find it very useful or interesting as a pseudocode, and I think it gets in the way of understanding.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#24
post #3

People often say "TAOCP is a dense, technical book, you don't just sit down and read it cover to cover." It is dense and it is technical, but it's also a joy to sit down and read and this is why. Knuth doesn't present an algorithm and annotate it with (Foobar 1968) and that's that. He says "Bazquux came up with an early version of this algorithm in 1962 while working on missile trajectories for the Department of Defe…

I feel like this is often a distinction between engineering and science books.

I'm used to reading books on physics where the authors (even the Russians) give a bit of background and (usually made up) history but when I go to read a book on something like Finite Element Analysis (For engineers) it feels like the author is literally just dumping his life's work into LaTeX without any thought beyond A->B.

Don't get me started on pages and pages of MATLAB or Fortran code without any indentation, comments or variable names longer than two characters. (This is why I believe writing algorithms in real programming languages is playing with fire in textbooks).

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#25

Has anyone read his books? Seems like an interesting way to get into programming. I enjoy reading, but I never thought that a book about programming would present it's ideas and technical details through stories.

I try to implement in Emacs Lisp Knuth's combinatorial algorithms from

https://www-cs-faculty.stanford.edu/~knuth/fasc2b.ps.gz

I just managed to finish the first Alg. P (plain changes); it was really hard, considering that I didn't understand the algorithm and the description is made for Pascal like languages.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#27
post #4

I like this: "A person’s success in life is determined by having a high minimum, not a high maximum. If you can do something really well but there are other things at which you’re failing, the latter will hold you back. But if almost everything you do is up there, then you’ve got a good life."

I've heard it said (maybe by Frank Zappa? can't remember for sure) that the difference between a professional musician and an amateur is not how well they play at their best, but how well they play at their worst.

my personal favorite (which I don’t know where I picked up from is): the difference between good programmers and average programmers is in how they cut corners. average ones will mostly walk themselves into a corner where the amount of effort required to fix it means it will never get fixed. good programmers will leave it such a way that it can be improved/fixed given more time.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#28
I feel like when people start talking about TAOCP, the first thing that comes up is the fact that you need to know a good amount of math to understand Knuth's language. But what people are forgetting is the fact that his books are just bunch of stories told in mathematical language. You need just the slightest of math knowledge to be able to follow his stories. Maybe hard in the beginning - because yes, it's dense - but once you get used to his way of storytelling, you get hooked.

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#29

> I write an average of five new programs every week. Poets have to write poems. I have to write computer programs. It seems more obvious now that I read it. A lot of programmers out there, including myself, are looking for ways to improve their skills and I never thought to myself to write more programs. And not just programs for the sake of programs, but programs that force you to explain to the computer that you u…

[deleted]

Re: For Donald Knuth, good coding is synonymous with beautiful expression

#30
post #15
post #14

Earlier quoted context omitted.

True. The editor on the left side does look like emacs.

That's the FVWM window manager. His FVWM config (or at least some version of it) is available if you're curious: https://www-cs-faculty.stanford.edu/~knuth/programs/.fvwm2rc .

Thanks so much for this link! It also explains what I am seeing in that picture:

"Now comes the fun part: Buttons to push that will take me from one desktop to another.

Being a control freak, I am not trusting FvwmButtons to find the correct button layout; I'm building it myself. The goal is to have a 64x64 ASClock at the upper right, preceded by four 32x32 buttons that will aim my display at another desktop, all above a 16x128 CPU load display. Geometry-wise, I consider it to be an 8x5 grid of 16x16 squares (although I could have regarded it as a 4x5 grid of 32x16s)."

Post reply on HN