https://www.youtube.com/watch?v=zYHsQarGaQ8
Donald Knuth, 2016, R Conference
-
consider computer programs as literature
-
idea is to find the best way to explain a program to a human being
-
writing a program optimized for human readability first, compiler readability second.
- publication of computer programs as a book
- think of a program as a hypertext
- complexity from composition of lots of small simple parts
- Small simple modules, connected to small other modules
- Diagrams, tables etc. can be kept beside the code
- code may get rewritten when it is correct but difficult to explain
- code can be understood by human beings
- pedagogical style
- also include design descisions
- time saving comes from debugging through better understanding
- May make some sort of very complex programs possible at all by reduction of congnitive load.
- a lot more work
- more difficult to create
- This book is the implementation of LCC
- This book includes a complete MP3 player
- You can zoom in on all the details if you want
- Award winning book, basic reading for Pixar engineers
- https://www.safaribooksonline.com/library/view/physically-based-rendering/9780128007099/
- Include illustrations in the midst of your program