An Interest In:
Web News this Week
- April 15, 2024
- April 14, 2024
- April 13, 2024
- April 12, 2024
- April 11, 2024
- April 10, 2024
- April 9, 2024
3 Must Read Books for Programmers from Non-traditional Background
1Code: The Hidden Language of Computer Hardware and Software
This is a classic book I believe should be the first thing to read when you want to learn about how computer works. Even though the first edition was published nearly two decades ago, the content is still relevant, and good news is that the second edition was just released Aug 2022 with new chapters on clock, ALU etc, and the companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend.
It covers how technology involved and computer was built, how do hardware components work together to run a program, the book answered my questions about what happens in a computer behind the scenes, and it laid foundation for me to grasp higher abstraction level mechanism such as operating system
2Computer Systems: A Programmer's Perspective
This is actually a text book used at Carnegie Mellon, it explains the underlying elements common among all computer systems and how they affect general application performance but from the programmers perspective, its a big book and indeed pricy, I was following the corresponding open sources course online, after a while, I just thought I better go with the hard copy so I can flip through them and work on the exercises. But if you dont want to spend the money on hard copy, learn with the open source course videos should be equivalent from a self learning perspective.
The book is in three main parts: program structure and execution, running programs on a system, interaction and communication between programs. I did not read this book from start to end, but rather dive into the chapters I want to learn more details or curious about, since Ive already have some basic ideas after reading the first book. Depends on your learning style and your knowledge system, you can go through the chapters sequentially or read the first book and use this as some sort of advanced learning material.
The benefit of the content in this book/course at least for me is that it provided extensive coverage on how a computer works and the practice problems to test if you really understand a concept.
3Operating Systems: Three Easy Pieces
This book is the culmination of years of teaching intro to operating systems by byRemzi H andAndrea Arpaci-Dusseauto both undergraduates and graduates at the University of Wisconsin-Madison Computer Sciences department.
It has three pieces: virtualization, concurrency, persistence, these are the fundamental concepts in OS construction. I find it works great with the operating system course the authors are teaching. Note that on the course page it lists CSAPP similar course as its prerequisite.
After learning the fundamentals Ive found it helps when I look at OS level metrics to identify system bottlenecks, and it was easier to understand the new technologies such as Docker, also the learnings at this abstraction level enables me to have a clearer picture when I debug or design a system, or even during system design interviews.
Which one are you mostly interested in? Let me know what you think about using them as a start to get a better understanding of computer systems!
Original Link: https://dev.to/sfs/3-must-read-books-for-programmers-from-non-traditional-background-4mha
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To