This is my recommended reading list. I try to read as much material as I am able, and only a few of the books I read actually stick out in my mind. Each of these is an excellent read.
Masters of Doom
The story of id Software told in an excellent narrative. Covers the lives of John Carmack and John Romero from the beginning until just after the Quake III era. This book is a great inspiration for those who crave an inside look at the cut-throat games industry and how video games are made.
This is a detailed story, not just a dramatization of the main events as they unfolded. The author has paid careful attention as even technical details have been included here.
These guys made the industry what it is today and their story should have been told long ago. This book fills that gap admirably.
C: A Reference Manual
Samuel P. Harbison, Guy L. Steele Jr.
I have looked at quite a few reference manuals for C. Many of them are huge tomes that go into every possible detail about the language. Others offer little or no explanation of the language and library only to offer the function names and which header each is in. This book serves to strike a balance between the two extremes. Experienced programmers could possibly read this book by itself and learn the language as opposed to the usual detailed explanation / tutorial regimen that is popular.
The Elements of Computing Systems
Noam Nisan, Shimon Schocken
Modern computer science students lack an in-depth knowledge of how modern computing systems work. Even after spending several semesters taking courses in programming, computer architecture and operating systems understanding how each of these pieces fits together continues to allude most. This is mostly the fault of how advanced today's computer systems are.
This book walks the reader through the creation of a usable computer system. Starting out with nothing but a description of boolean logic and ending with a complete working system: complete with simulated hardware, assembler, compiler, high level language and operating system. Each section comes with a project that should be completed before moving along to the next step.
My only complaint about this book is that it makes self-study a little difficult. Explanations of key concepts are often very short. However, I still feel this book will end up a classic and should be on everyone's bookshelf.
Godel, Escher, Bach: An Eternal Golden Braid
Douglas R. Hofstadter
It's very difficult to describe what this book is about.
Just read it.
Ray Tracing From The Ground Up
The author has of this book has gone to great trouble to provide a down-to-earth manual to learn how to build a ray tracing engine. This book is filled with nice illustrations not only showing the output of the software itself, but providing graphical illustration of the ray-tracing process. Students studying computer graphics for the first time will be well served by this book as each mathematical principle is shown in adequate detail. A "Further Reading" section is provided at the end of each chapter for students looking to learn more. Each chapter also includes a "Questions" and "Exercises" section to help reinforce what has been learned.
I have heard great things about other ray tracing books, but they will have quite a tall order to outdo what this has done for my understanding of this fascinating subject.
Computer: A History of the Information Machine
Martin Campbell-Kelly, William Aspray
I'm still waiting for the definitive history of Computer Science. A huge book, about 1,500 pages or so that reveals total detail an clarity about all facets of computer history. This book does not go quite that far but it does provide an excellent narrative that makes this book difficult to put down.
The book starts out with Charles Babbage and ends with the advent of the Internet. Told from the vantage of the high-points of history it covers the complete story of how we arrived from the age of mechanical computing until AOL started sending me their disks (which I still have so many of).
Several other computer history books come to mind but none are as entertaining an enjoyable of a read as this one has been.
The Victorian Internet
A great ride through a time I did not get to see, the Victorian Internet makes quite a few connections between the modern Internet era and the age of the Telegraph. Long before there were e-mails Western Union would deliver a message from afar for only a small fee. Twitter seems like a new invention until we take a look through history at how stock traders of Great Depression posted tiny telegrams to one another with cryptic info about the next "sure thing".
While not about computers directly, this is my favourite history lesson in a book. Quite a few lessons can be learned from its pages.
My name is Steven Schronk and I live in Fort Worth, Texas.
This site contains info about my current projects and research which include the following: