This resource lists a bunch of stories which in some way, explore the beautiful ideas behind computer science, software engineering and even plain old programming.
I’m tentatively calling this “hard comp-fi” to echo the well-established genre of hard sci-fi, which is defined by accurate, watertight science taking center stage in the narrative. In hard comp-fi, by way of contrast, the computer science / software engineering / programming aspects are accurate, watertight and take center stage in the narrative.
Some stories can be both, but they don’t have to be. In particular, magic lends itself very well to use as an allegory for computers: unlike its precursor, therefore, hard comp-fi often inhabits a fantasy setting. Hard comp-fi is not necessarily cyberpunk either; the latter being biased towards exploring the societal implications of computing, usually with a bleak postmodernist aesthetic.
In the hardest comp-fi, programming skills contribute to the reader’s understanding of the plot, or perhaps vice versa: the plot contributes to the reader’s understanding of programming. You could probably class it all asrational fiction.
Genres are often defined by what they arenot, so here are some honored mentions:
The Atrocity Archives (Charlie Stross) – is set in a Lovecraftian world where magic is portrayed as very scientific, albeit with expository hand-waving rather than detailed exploration.
Diane Duane’s Young Wizards series, likewise (albeit suitable for children).
Gibson’s Neuromancer sets the tone for a vast quantity of cyberpunk in its dealings with AI and simulation, though I don’t feel this alone qualifies it.
A lot of the book suggestions came fromthis HN thread.
Updating the list
Send me a pull request! Write a review, give a rating, insert it in order of hard comp-fi score, attribute your review to yourself. If a lot of works get added, we’ll have to rethink the rating system (and I’ll add attribution for the original set of reviews).
Ratings are, of course, subjective and best taken with a pinch of MSG. In order from softer to harder comp-fi:
The Matrix (Wachowskis). Comp-fi hardness score: 2.9. Overall rating *****
Not a book, but I’m putting it here to note that despite its sci-fi holes (batteries, anyone?) Its comp-fi credentials are stronger, covering simulation, antivirus and agents. Also, the famous red pill is amagical debug value.
Unsong(Scott Alexander). Long, free to download. Comp-fi hardness score: 3. Overall rating *****
I loved this, though skipped the Talmud analysis bits. I’m not 100% sure it qualifies as hard comp-fi as the focus is more social and philosophical (what would you expect from the author ofslatestarcodex?). Still, it’s definitely got a lot of computing in there including automated search for names of God, in a Pratchett-esque world where physics is broken and hell is real.
Ra(Sam Hughes). Long, free to download. Comp-fi hardness score: 3.5. Overall rating *****
I loved this as well. Magical realism setting, with better character development than most of the ‘harder’ comp-fi, and a complex narrative. Computing aspects include naming, a fork bomb, and levels of abstraction i.e. the difference between machine code and interpreted language.
Snow Crash (Neal Stephenson). Long. Comp-fi hardness score: 3.5. Overall rating *****
Famous cyberpunk which doesn’t take itself or the author’s homeland too seriously, yet also strangely prescient. Credited with coining modern usage of the word ‘avatar’. Computing aspects include comparative programming languages and antivirus.
Asimov’s Robot stories. Various, short. Comp-fi hardness score: 4. Overall rating ***
At least one of Asimov’s classic robot short stories hinges on odd behavior caused by oscillating potentials in the ‘positronic brain’ – perhaps rooted more in electronics than computing. Others hang on logical conundra. I forget which. Possibly the origin of all hard comp-fi.
Off to be the Wizard (Scott Meyer). Medium length. Comp-fi hardness score: 4. Overall rating ***
This, and Wizard’s Bane, both handle the parallels between magic and programming by giving us a programmer as a viewpoint character in a magical world. Computing aspects include naming, code reuse, clever hacks, and a fairly deep exploration of what the author calls shell programming, but I would term development toolchains i.e. using a computer to program itself. Other aspects are well handled – how would you use a display of magic with no direct practical application, to gain power in a medieval setting? Also broaches the topic of (spoiler)gender bias in tech, though (spoiler )you wouldn’t think it until the end. I would classify as young adult reading (no slur on my part – I like the concise nature of YA).
Wizard’s Bane (Rick Cook). Medium length. Comp-fi hardness score: 4. Overall rating ***
Has a lot in common with Off to be the Wizard. Perhaps heavier than the others on nerd wish fulfilment and in-group referencing, thoughMarkwho read this before learning to program said it didn’t upset the flow. The plot is worthy of mention as it hinges entirely on commonalities between magic and software engineering. Young adult.
Lauren Ipsum (Carlos Bueno). Medium length. Comp-fi hardness score: 5. Overall rating ***
No magic here for a change, instead an Alice-in-wonderland style allegory. I read this a while ago and can’t clearly remember but I think it touches on naming, recursion, turtle graphics, heuristics, branching and possibly P vs NP. Young adult, or even younger.
Manifest Logic. Short, free to download. Comp-fi hardness score: 5. Not my place to rate this. ***?
Thinking myself the first to the magic-as-programming game I put together something that included naming, boundary conditions, recursion, protected memory and object oriented design. Afterwards I found Ra, and was pleasantly surprised to see how much overlap there is between my thinking and Hughes’s… though he wrote a better story than I could ever hope to! Young adult.
Shannon’s Law(Cory Doctorow). Short, free to download. Comp-fi hardness score: 5. Overall rating ****
Doctorow is, of course, a well known storytelling pro. This is a story about trying to establish a TCP / IP connection to Elfland. I liked it.
Works recommended but lacking confirmation and / or review
Sherri Tepper’s True Game series
Daemon by Daniel Suarez.
The Adolescence of P1 by Thomas Ryan.
GIPHY App Key not set. Please check settings