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…
I gave this talk (video) at the Salon des Refusés 2017 (a.k.a. SDR2017, with the conference subtitle "Dialectics for new computer science", at the margins of Programming 2017). I reused it at the LambdaConf 2017 Unconference, and then 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.
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
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.
The article can be compiled using PLT Racket's Scribble, from evo2017.scrbl. See the various Makefile targets.