Programming Pearls
A classic book on computer programming and software. It was written in 1986, which can be considered the medieval period of computing, the beginning of the PC era. Therefore, many examples in the book may feel unfamiliar and hard to understand for “modern” programmers, such as its emphasis on algorithms, attention to memory, disk-related programming, and refusal to use standard libraries. Some important concepts emphasized in the book are now household knowledge and basic abilities, such as binary search, sorting algorithms, strings, BST, heap, and estimating and tuning time and space complexity. Reading classics always feels like talking with masters across time and space. It is truly refreshing and awe-inspiring. This book rewards rereading. I read it in university and seem to have bought a paper copy then. Now I have been learning programming for ten years and have formally entered the industry for almost three years. Reading it again, I feel it is very simple, yet so profound. Classics truly are immortal.