One book that helped me a lot in understanding how things work at lower level is Computer Systems: A Programmer's Perspective by Bryant and O'Hallaran. This book is probably what you're looking for.
On Sunday, June 12, 2016 at 6:08:58 PM UTC+5:30, Smit Shah wrote: > > Hello folks, > > I started programming as many young folks do these days, diving into > scripting language (Ruby) and using it to build CRUD apps etc. > > As time went on, I started dealing with more interesting problems and > solving them efficiently became increasingly complex. I started looking > into more performant languages (which lets you exercise more control), > concurrent programs and distributed systems etc. > > However, I realized that all these complex systems are built on > fundamental knowledge of how computers work, eg.e TCP/UDP/IP network stack, > disks, memory, processors, compilers etc. I think it's paramount to know > such things to come up with projects like Disruptor/Aeron etc. > > So my question is rather a simple one, how does one start to get good at > these things? Did you folks pick these things up from books and > whitepapers? Where does one start basically? Also, what should I pick up > first? There is just so much to learn e.g Algorithms, Data structures, > Design Fundamentals, etc. > > Finally, I want to thank you for creating this group, many times when I am > reading through a post or a thread I feel how little I know and how far I > have to go :) > > > -- You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
