From Software Creationism to Software Evolutionism
Abstract
The lives we live are weaved around the stories we tell. This is true of programmers as of all humans. And the greatest of all stories are origin stories. I will examine the origin stories of software, from simple tales of software creation to elaborate theories of software evolution. And I will relate these stories to the tools they explain and the technological realities we bring about by following them. I will conclude by reflecting on storytelling, on the progression of the above stories, and on what lies beyond Stories are fun! And they subtly inform us. Let me tell you a good story…
Background
This is my contribution to Salon des Refusés 2017 (a.k.a. SDR2017, with the conference subtitle "Dialectics for new computer science"). I reused it at the LambdaConf 2017 Unconference, and will reuse it at the NYC N-Languages Meetup.
I gave previous versions of this talk at ENS in 2005, at MSLUG in 2009 and at LispNYC in 2014 (video); proposals to give other versions of this talk got rejected by Onward! 2009 and Onward! 2014.
Viewing the article
I rewrote and cut down a previous writeup to fit the 9000 words limit alloted by SDR: I added a big disclaimer in the introduction; I expanded slightly the theory of evolutionism while shortening the text; I substantially rewrote the latter parts, both adding and removing material. Here are an HTML and a PDF version of this essay:
- http://fare.tunes.org/files/evolutionism/evo2017.html
- http://fare.tunes.org/files/evolutionism/evo2017.pdf
Talk
Here is the video of the talk at SDR 2017 and a video of the slightly longer talk at λC2017. The slides are in refuses2017-slides.html. Commentary that gives meaning to these slides is in the source code at refuses2017-slides.rkt.
Notes
The article can be compiled using PLT Racket's Scribble, from evo2017.scrbl. See the various Makefile targets.