Git Product home page Git Product logo

hard-comp-fi-fiction-list's Introduction

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.

Genre definition

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 centre stage in the narrative. In hard comp-fi, by way of contrast, the computer science/software engineering/programming aspects are accurate, watertight and take centre 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 as rational fiction.

Genres are often defined by what they are not, so here are some honourable 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 from this 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).

The List

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 a magical 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 of slatestarcodex?). 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 behaviour 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, though Mark who 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.

hard-comp-fi-fiction-list's People

Contributors

fiftysevendegreesofrad avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.