A Philosophy of Software Design is excellent, I dislike almost all programming books but that one is great.
I've written a longer review of it here:
https://henrikwarne.com/2021/07/12/book-review-a-philosophy-...
101–110 of 127 posts
A Philosophy of Software Design is excellent, I dislike almost all programming books but that one is great.
I've written a longer review of it here:
https://henrikwarne.com/2021/07/12/book-review-a-philosophy-...
I'd also read the books from Teach Yourself CS ( https://teachyourselfcs.com ): - Structure and Interpretation of Computer Programs - Computer Systems: A Programmer's Perspective - The Algorithm Design Manual - Mathematics for Computer Science - Operating Systems: Three Easy Pieces - Computer Networking: A Top-Down Approach - Readings in Database Systems - Crafting Interpreters - Designing Data-Intensive Applications…
A word of warning to anyone reading "The Algorithm Design Manual", there is an error on nearly every other page. https://www3.cs.stonybrook.edu/~skiena/algorist/book/errata https://www3.cs.stonybrook.edu/~skiena/algorist/book/errata-...
SICP shouldn’t be on this list. Few people actually read it and most just worship it unread like a bible. It was Hilfinger’s assigned text in 61A at Berkeley but without any assigned readings. On the other hand, The Little Schemer which has a lot of the important ideas from SICP might be on a list such as this. But it’s too accessible to warrant much respect.
THIS PLACE IS RESERVED FOR JELLY BEAN STAINS . . . . . The whole The Little|Seasoned|Reasoned Schemer plus its other variants The Little ML'er|Java|Prover|Typer are some of the most mind bending books that you will ever read ever. And it is not the just the end result. Reading these books well will teach you socratic method of teaching/learning, which is great in itself. And will help you teach yourself a wide variet…
I'd also read the books from Teach Yourself CS ( https://teachyourselfcs.com ): - Structure and Interpretation of Computer Programs - Computer Systems: A Programmer's Perspective - The Algorithm Design Manual - Mathematics for Computer Science - Operating Systems: Three Easy Pieces - Computer Networking: A Top-Down Approach - Readings in Database Systems - Crafting Interpreters - Designing Data-Intensive Applications…
A word of warning to anyone reading "The Algorithm Design Manual", there is an error on nearly every other page. https://www3.cs.stonybrook.edu/~skiena/algorist/book/errata https://www3.cs.stonybrook.edu/~skiena/algorist/book/errata-...
I'd also read the books from Teach Yourself CS ( https://teachyourselfcs.com ): - Structure and Interpretation of Computer Programs - Computer Systems: A Programmer's Perspective - The Algorithm Design Manual - Mathematics for Computer Science - Operating Systems: Three Easy Pieces - Computer Networking: A Top-Down Approach - Readings in Database Systems - Crafting Interpreters - Designing Data-Intensive Applications…
As the author of Teach Yourself CS I would definitely suggest against trying to fit this in a year! Maybe aim for CS:APP and 1-2 others, and if you have time for more that's a bonus. Most of these are books to work through, not "read".
Are there any books regarding the history of programming? Going from Visual Basic to Vim to all the fancy languages we have today. Or anything on how what we write as code gets translated into binary and what happens to our computers when the code processes?
It doesn’t talk about programming language history a lot, but shows how assembly works.
Reading books is great! And curating a list is useful and fun. But you have to be pretty careful when you say things are a "must" since that's... pretty hard to prove (and can just make people feel bad). And the proof has already been pointed out as not true in this thread. Unless we all want to start evaluating eachother's programming ability virtually. Again, lists and reading is great! And it's probably better to…
I can not stand the dogmas: You "must" read this, you "have" to use this IDE/text editor, you will perish a slow painful death if you program in language X and not language Y.
Read what you want, use what you want, please share with me what you like and don't like but please do not tell me what I must do and I must use.
- Continuous Delivery by Jez Humble and Dave Farley
- The Pragmatic Programmer by Andy Hunt and Dave Thomas
- A History of Modern Computing by Paul E. Ceruzzi
- Version Control with Git by Prem Ponuthorai and Jon Loeliger
- and SICP. Understanding it is like accessing a new dimension of power.
Are there any books regarding the history of programming? Going from Visual Basic to Vim to all the fancy languages we have today. Or anything on how what we write as code gets translated into binary and what happens to our computers when the code processes?