Reddit reviews Write Great Code, Volume 1: Understanding the Machine
We found 3 Reddit comments about Write Great Code, Volume 1: Understanding the Machine. Here are the top ones, ranked by their Reddit score.
We found 3 Reddit comments about Write Great Code, Volume 1: Understanding the Machine. Here are the top ones, ranked by their Reddit score.
I really like the Write Great Code series. The first one contains pretty crucial information about low level stuff that webdev folks frequently don't learn, which kind of leaves us out to dry when it comes to number theory and other stuff that comes up occasionally.
http://www.amazon.com/gp/product/B0096FEJGQ?btkr=1
All of the volumes are very good though.
What kind of jobs are you applying for? Low-level stuff is typically applicable for things like engine work, graphics, optimization, networking and audio. Okay, that covers a lot of the game development process, but there are certainly jobs that aren't deep into that, like peripheral tooling (making tools for developers to use) or working on stuff like the webservices that powers the online community.
However, if your goal really is core game development, then you need to be a lot more targeted in how you learn. I have interviewed for and was hired by a game company that worked in C++, and have also worked in distributed, networked military simulations (think of it like boring, more realistic Starcraft), so here is how I gained the various knowledge I had in getting through those types of interviews (including a 90-minute written test for the game company where I had to debug C++ code on paper, answer various gotchas, etc.).
I don't know how far you have covered, but this is how I would approach the learning now, were I to start over again.
It covers low-level concepts like CPU pipelining, memory, and how code interacts with the machine. I read this years after I started my job building simulations, and it reinforced a lot of what I learned previously and in college. I also recommended this book to a friend of mine who credits it with giving him an edge over his fellow college grads (he's years younger than I am) in low-level knowledge. If you don't know concepts like cache locality, cache lines and how memory is allocated, this book will cover that and more.
std::vector<T>
in C++.std::map
andstd::unordered_map
std::set
andstd::unordered_set
std::list<T>
andstd::forward_list<T>
std::stack
andstd::queue
std::deque
- The C++ implementation of a double-ended queue.std::set
is typically implemented with a red-black tree behind the scenes)-----
The above covers the 'core' stuff you'd have to learn. If you wanted to get into stuff like network programming or graphics programming rather than just core gameplay development, I can expound further.
This is really cool! Thank you.
>A common question is whether the book is still relevant. After all it's over ten years old
I find that some old(ish) books can really hold some great significance, for example: Effective C++ and Clean code have both given me some brilliant tips on making better code. I'm also readingWrite Great Code. If you have any more books i'd love to see them :) Thank you, again.