Computer Science-Fiction1 is not actually fiction. Instead, these are books of computer science and/or programming that when you read them you can’t quite believe that what they claim is reality. Indeed, very often works of Computer Science-Fiction push the limits of your understanding of just what constitutes the art of programming.2
Smalltalk-80: The language and its implementation
Almost everything about Smalltalk and its history is too fantastical to believe, and of all the references on Smalltalk, this book provoked the most longing sighs. The denouement of the book is of course the implementation of the Smalltalk interpreter in Smalltalk, which is in many ways a star-map to a world much like our own, only better.
A science fiction companion to this book: Island
Thinking back on all of the programming books that I’ve read, I would be hard-pressed to think of one that was more influential on my personal programming style than Leo Brodie’s Masterpiece.
A science fiction companion to this book: Native Tongue
Concepts, Techniques, and Models of Computer Programming
While Thinking Forth motivated change in my micro-level programming stylings, CTM definitely influenced my macro-level systems-level thinking. CTM is a book that I’ve read a few times and each time that I do I discover something mind-bending. I suspect another read-through is forthcoming.
A science fiction companion to this book: The Foundation Trilogy
Project Oberon: The design of an operating system and compiler
Wirth’s magnum opus is the quintessential example of Computer Science alternative-history world-building.
A science fiction companion to this book: Perdido Street Station and the world of New Crobuzon.
The Architecture of Symbolic Computers
While Wirth’s Oberon system and language is comprehensive and unique, it does tend to fit into our known computer science universe. However, Kogge’s book describes languages and systems that seemingly turn what we know of hardware and software on their heads.
A science fiction companion to this book: Anything by Phillip K Dick
Structure and Interpretation of Computer Programming
SICP is an exploration of programming free-love. Indeed, the tone, examples, references, and hearken to a programming life that if true, would be an absolute blast to live in. Of course, SICP and its contained dictums do not outline a utopia. Instead, they point to a method of working that demands a lot, and likewise provides proportional reward. However, like many great works in this vein, one eventually stops reading and returns to the harsh reality in which they operate. Fortunately for us, SICP contains a formula for revolution.
A science fiction companion to this book: The Moon is a Harsh Mistress
What are your favorite works of Computer Science-Fiction?
:F