The Art of Computer Programming, Volume 4, Fascicle 5
smile.amazon.com
smile.amazon.com
"First he showed us a letter from Bob Floyd. The letter opened by saying ‘Don, Please stop using so many exclamation points!’ and closed with at least five exclamation points. After receiving this letter he looked in The Art of Computer Programming and found about two exclamation points per page. (Among the other biographical tidbits we learned at this class were that Don went to secretarial school, types 80 words per minute, and once knew two kinds of shorthand.)
...
Upon receiving a question from the audience concerning how many times he actually rewrites something, Don told us (part of) his usual rewrite sequence: His first copy is written in pencil. Some people compose at a terminal, but Don says, “The speed at which I write by hand is almost perfectly synchronized with the speed at which I think. I type faster than I think so I have to stop, and that interrupts the flow.
...
Don, obviously a fan of rewriting in general, told us that he knows of many computer programs that were improved by scrapping everything after six months and starting from scratch. He said that this exact approach was used at Burroughs on their Algol compiler in 1960 and the result was what Don considers to be one of the best computer programs he has ever seen.
...
The last part of class was spent discussing the font used in the coming book: Euler. The Euler typeface was designed by Hermann Zapf (“probably the greatest living type designer”) and is an especially appropriate font to use in a book that is all about Euler’s work. ”
I love the implication that he thinks slower than 80 wpm. Sounds absurdly unlikely.
I also love the idea of throwing it away. Never fully been brave enough to do that, though. Nor have I ever seen it done. Getting closer as I get older. By coming up with a language for what I'm doing, I'm free to throw out how I've done it, so long as I honor the language I left behind. (Curious if this is the gem of dsl stuff. Just another way of saying to focus on the api.)
The shorthand, of course, complicates this. Does he do the first pass in shorthand? Even a mix of long and shorthand? That increases the writing speed considerably.
And I have no clue how that actually stacks up. Eighty looks like a small number, but that is more than this whole post.
I often wonder what else comp sci students learned that us software engineering students did not. All I know for sure is that we did a ton more testing, architecture, hardware, math, and requirements. I think we did more applied programming too, based on trying to work with comp sci students who write custom sorting algorithms instead of thinking to type .sort(). We did not learn a ton of algorithms though
The peer review process often seems to fail when proofs are involved--reviewers often skip over the proofs because reading and checking is hard work.
If you don't feel comfortable you'd be wasting your time, fighting to get into the proofs.
I really believe CS programs and schools should implement courses on "Thinking ,learning and building".