- "The Art of Computer Programming" (TAOCP)
- "The C Programming Language" (K&R)
- "Structure and Interpretation of Computer Programs" (SICP)
- "Artificial Intelligence: A Modern Approach" (AIMA)
- "The Art of Computer Programming" (TAOCP)
- "The C Programming Language" (K&R)
- "Structure and Interpretation of Computer Programs" (SICP)
- "Artificial Intelligence: A Modern Approach" (AIMA)
Therefore, if you decide to go through TAOCP cover to cover, know that it's either for your own interest, and that you're willing to become academic/research minded instead of s/w-development minded. After that you might wanna join a PhD program (if you don't have it already) and do research or something.
https://en.wikipedia.org/wiki/The_Art_of_Computer_Programmin...
Think of it this way. Is a PhD in combinatorics from the math department, with exposure to programming, the most suitable candidate for the job of building OS, DBMS, PL, VM, Compilers? I don't think so. If (s)he is interested in such a role, (s)he can definitely do a good job. But (s)he would have to be aware that roughly 90% of what (s)he learned and enjoyed while doing combinatorics research would not be relevant to the job. The hiring would depend on a combination of how much of that lifestyle (s)he is willing to give up for this job, as opposed to trying to find a tenure track faculty position where (s)he could continue pursuing research, and how much the software company thinks about the enthusiasm of the candidate (to switch from research to software development).
Going through TAOCP and doing exercises and learning relevant math is a close approximation to that, IMO. Keep in mind that a significant number of exercises in TAOCP are about proving theorems.
Besides, I can teach anyone software development. Kids do it with Scratch, average people did it with BASIC in school, and lay business people used COBOL, Excel, and Visual Basic. I'm sure someone who can learn everything from algorithm optimization to assembler coding can handle C++ with some on-the-job learning. In all likelihood, they already were programming in various languages if they tried to get such a job.
Nonetheless, Bill says they're a good hire for stuff at Microsoft. That's where it went from "I wonder" to "Yes they are." No need to speculate.
http://research.microsoft.com/pubs/122884/pldi117-yang.pdf
http://research.microsoft.com/en-us/projects/slam/
Microsoft Research in general http://research.microsoft.com/en-us/
> This list of classic books is the result of a poll ACM conducted where members named their favorite computer science books.