Art of the propagator<p>It is like a discovering a new programming paradigm. Something new and different, not a Lisp, not a Datalog, weirdly distributed, with interesting properties, but powerful. There are adjacent things, BLOOM project and Eve language seems to have discovered something simmilar, and Edward Kmett working on his new language is using propagators quite heavily.<p><a href="https://pdfs.semanticscholar.org/755c/48fd10aa303497ef849977c36529c0bb09ff.pdf" rel="nofollow">https://pdfs.semanticscholar.org/755c/48fd10aa303497ef849977...</a><p>Sci-fy to go with it: probably Ted Chiangs Stories of your Life (or its movie adaptation Arrival)<p>Out of the tarpit<p>I thing this is a paper that might have lead to Clojure, React, Elm, e.t.c ... but not really, a weird parallel reality where we really like reactive relational databases.<p><a href="http://curtclifton.net/papers/MoseleyMarks06a.pdf" rel="nofollow">http://curtclifton.net/papers/MoseleyMarks06a.pdf</a>
Knuth's "Literate Programming" was kind of otherworldly for me. I liked the idea that software could be written in a form indistinguishable from literature. I could not quite believe that it was reality -- and I'm still not sure it holds up in the real world -- but it's such a cool idea to have wrapped my head around at least once.
The Art of the Metaobject Protocol. Let’s build a system ... in this system we haven’t built yet! We’ll start with some DEFCLASS calls to define some classes for its internal data structures. In a couple hundred pages, we’ll have enough written that we can <i>define</i> DEFCLASS to close the loop.
What a fun list! And it has some great lines:<p>"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."<p>It's a bit difficult to define this genre (but how can we not?). I found the K&R personally mind-blowing when I read it (and someone in the comments suggests it), but I'm not sure it qualifies. Many classic works strike me as "computer science-fiction," but not all classics of computer science are.<p>There's something fanciful and idealistic about these particular works -- something about their tone that seems vaguely utopian or futuristic.<p>Michael Fogus is a fine writer, though his own books seem strikingly down-to-earth. Really, I think he should expand this into a full-blown essay.
Previous discussion at the time (84 comments):<p><a href="https://news.ycombinator.com/item?id=9447097" rel="nofollow">https://news.ycombinator.com/item?id=9447097</a>
It’s interesting to read these, and important that they are not forgotten, but I don’t see these as viable alternate realities for mainstream modern programming. They were relegated to, and remain in the margins for actual reasons, not just by accident. In some cases such as SICP and arguably a few of the others those ‘margins’ are still actually important niches from which they still influence and benefit the community.<p>I think there are some ‘accidents’ of technological choices that have had unfortunate consequences for the modern industry. We could have done with something better than JavaScript for example, but these aren’t ‘paradigm’ issue (I tried avoiding that word, but there it is). By and large the direction the industry has gone has been chosen for sound practical reasons.<p>In the end, none of the alternate history directions the industry could have taken are off the table forever. If Oberon or Smalltalk had been a superior way to build software, there’s nothing stopping someone taking their evergreen fundamentals and building them into a modern system. If that doesn’t happen, again there are probably reasons for that.
Disclaimer: I’ve started reading the Lean guide for the past month or two.<p>For me the most magical texts I have ever read were TAPL by Pierce, or the Lean Theorem Prover (tutorial/guide?) [1].<p>Just from a software standpoint, Lean seems like one of the most magical things ever built. For something that is built by mathematically-oriented programmers for pure mathematicians, it is /extremely/ well designed. So much thought has seemed to go into the user experience; it’s rest a joy to use.<p>Every chapter in that guide, has blown my mind more than the previous. It is super accessible as well to anyone with the math background found in any undergrad CS program.<p>[1]: <a href="https://leanprover.github.io/theorem_proving_in_lean/introduction.html" rel="nofollow">https://leanprover.github.io/theorem_proving_in_lean/introdu...</a>
Of the works listed, I’ve read only <i>The Architecture of Symbolic Computers</i> and <i>Structure and Interpretation of Computer Programs</i>. The latter is widely known as it undergirds many a computer science course, but the former is far more impressive by a wide margin. As a invertebrate mathematician, breaching the threshold between numerical and symbolic computation (though ultimately) gives me an undeniable <i>frisson</i> of profundity.
I love thinking about these books as science fiction. I experience disappointment and frustration with some of the turns our technological evolution took, and my own inability to hack out my own path, so I took to writing science fiction in order to switch from an implementor's perspective to a user's perspective. My goal and process is to suspend the inner architect and programmer and skip to a conceivable end-result: alternative technological history type of thing. I find that picturing an end result of a hypothetical scientific effort relaxes me.
The only book I've read that I would call "Computer Science-Fiction" is The Footprints of God: <a href="https://www.goodreads.com/book/show/1515812.The_Footprints_of_God" rel="nofollow">https://www.goodreads.com/book/show/1515812.The_Footprints_o...</a><p>It's pretty good. Centers on AI (but isn't a cliche Terminator-like scenario) and gets into very philosophical territory by the end, and has the pacing/tone of an espionage thriller.
Did no-one read the article? [1] It's explicitly not about fictional sci-fi that happens to feature computers/programming, but about real textbooks that hint at what programming <i>could have been</i> had the industry adopted those technologies/principles more fully.<p>[1] At this time 4 of the 7 top-level comments and all the active discussions are about sci-fi, not what the article describes
Isaac Asimovs's "The Last Question" is an excellent short story and I consider it among one of the greatest works of science-fiction. It describes a fictional future where humanity creates a computer that acheives the singularity (written in 1956!), with an interesting twist at the end.<p><a href="https://www.multivax.com/last_question.html" rel="nofollow">https://www.multivax.com/last_question.html</a>
UNSONG. Magical fantasy set in a Silicon Valley where Microprosopus (Microsoft), Gogmagog (Google), Amalek (Amazon), and Countenance (Facebook) have figured out how to brute force discovering Divine Names of God through the magic of independent contractors.<p>Every chapter begins with a quote from a Markov chain trained on the King James Bible, SICP, and ESR. For example:<p>> It is good practice to have your program poke around at runtime and see if it can be used to give a light unto the Gentiles.<p>The first chapter begins<p>> The apocalypse began in a cubicle.<p>> ... Upon the floor was a chair and upon the chair was me. My name is Aaron Smith-Teller and I am twenty-two years old. I was fiddling with a rubber band and counting the minutes until my next break and seeking the hidden transcendent Names of God.<p>> “AR-ASH-KON-CHEL-NA-VAN-TSIR,” I chanted.<p>> That wasn’t a hidden transcendent Name of God. That wasn’t surprising. During my six months at Countenance I must have spoken five hundred thousand of these words. Each had taken about five seconds, earned me about two cents, and cost a small portion of my dignity. None of them had been hidden transcendent Names of God.<p><a href="http://unsongbook.com/" rel="nofollow">http://unsongbook.com/</a>
Francis Spufford's <i>Red Plenty</i> might fit here. It's historical fiction, set in the 1950s and 1960s USSR, and describes an attempt to build an efficient planned economy with linear programming. It's a bit like <i>Little House on the Prairie</i>, in that some of the people and events are fictional, but the big ideas were mostly true (there's a massive set of end-notes if you care).<p>I found both the math and the vignettes about life in the USSR to be fascinating.
Daemon. Best thriller ever. Not really, but was interesring to read <a href="https://www.amazon.com/Daemon/dp/B001QCZTWA/ref=mp_s_a_1_1?keywords=Daemon&qid=1577933339&sr=8-1" rel="nofollow">https://www.amazon.com/Daemon/dp/B001QCZTWA/ref=mp_s_a_1_1?k...</a>