This is an extended discussion of a problem with one of the sections of the book “Seeing in snapshots”. This is not really about code or technical content, so anybody who is only interested in such content need not read this. Recommendations for how to fix the problem are given after discussing the mistakes.
From “Clojure Applied” by Ben Vandgrift and Alex Miller (p. 64):
To arrive at that understanding [about identity and state in Clojure programming], let’s talk for a minute about time. While the human experience seems continuous, your senses collect information into discrete quanta. Sounds, sights, and smells enter your brain independently, then are correlated into moments in time. As you play through those moments in succession, you experience the illusion of a continuous perception.
I don’t think this passage makes a lot of sense.
(1) This part of the book is about identity and state in programming, not human perception, so why are the authors even talking about perception? The discussion is mistaken as well as being largely irrelevant.
(2) What’s relevant is that a program can only record a discrete set of events. And programs are written this way for the purposes of error correction. Analog information always contains errors because they can only be measured with finite accuracy. So then there will be an upper limit on how many analog computational steps you could do before the errors add up and any error threshold you have for accuracy of the computation is exceeded. By contrast, digital information can be corrected with arbitrary accuracy: any threshold you set for accuracy need never be exceeded. That is why computers operate on digital information, not analog information. For the same reason, any information that you want to be able to record and retrieve arbitrarily often has to be stored digitally. (For an extended discussion of these points, see “The Beginning of Infinity” by David Deutsch, Chapter 6, starting around page 140.)
(3) Your senses don’t collect information into discrete quanta. They just record discrete information. For the reasons noted in the previous point, they can’t really record anything else. Trying to go from human perception to the theory of computation gets this particular issue backward.
(4) Your sensations aren’t correlated into moments. Rather, your brain makes judgements that some particular set of sensations all happened at the same time. That’s not just looking for correlations, since it may involve some creativity.
(5) If you have some finite collection of sensations and you assemble them into moments, then you can only have a finite set of moments from that process of assembly. So then it can’t be the case that the collection of moments seems to be continuous in the sense of not being discrete. You might judge that the collection of moments you perceive is continuous in the sense of not being discrete, but that judgement is wrong.
(6) There may be another sense in which experience is continuous: you don’t see any gaps in the set of moments. That is to be expected since you can’t experience gaps between your conscious experiences. The “no gaps” sense of continuity is not the same as the “not being discrete” sense of continuity.
Fixing these problems requires replacing the first three paragraphs of the section.
The first paragraph could be replaced simply by noting that computers only record digital information, not analog information. The authors could discuss the explanation for this if they want to, but that is not strictly necessary.
The second paragraph could be replaced by saying something like: “Imagine you wanted to represent a horse in motion in a computer program. The first thing you might do is consider only a finite collection of stills of the horses motion as in [description of the picture].”
The third paragraph contains a mistake in addition to those recorded above:
Muybridge snapped these photographs 135 years ago to determine whether or not all four of a horse’s hooves ever left the ground. The apparent movement they capture is illusory, but our minds apply continuity. We play through the pictures in the sequence and see Sallie Gardner’s historic run.”
The second sentence presupposes that motion has to be continuous. But that is a fairly deep physics issue. Any physical quantity whose value can be measured and recorded in fact has only a discrete set of possible values. The quantum mechanical probabilities of those discrete states changes continuously. See “The Beginning of Infinity” Chapter 11, if you want an extended discussion of this point. For a discussion of time see “The Fabric of Reality” by the same author, Chapter 11.
A suitable replacement would keep the first sentence of that paragraph and delete the other two sentences. You could say that although the snapshots do not move, you can work out that these snapshots represent motion by comparing successive snapshots, and invoking your background knowledge of horses and jockeys and of of how the pictures were made.