complexity class: oft ignored, somewhat overrated, still fundamental
REPL: the heart of the craft. Covers shells all the way to compilers. Arguably even GUI event loops.
You could probably do a whole separate data structure arcana. Queue, graph, heap, pointer, linked list, array, hashmap…
edit: Also, I’d argue that null should be the fool, as it’s a value pretending to be any type, while amusingly pratfalling when actually pressed to fit the role. Null is pretty much a parody of every type.
All (concrete) data structures are just constrained graphs.
You mention caches, and they are certainly very important; but I think queues deserve pride of place as the simplest representative exemplar of a computer’s doing something (just moving something from one place to another).
queue
graph
the underpinnings of everything
You could probably do a whole separate data structure arcana. Queue, graph, heap, pointer, linked list, array, hashmap…
edit: Also, I’d argue that
nullshould be the fool, as it’s a value pretending to be any type, while amusingly pratfalling when actually pressed to fit the role. Null is pretty much a parody of every type.Maybe these should be the suites of the minor Arcana. Data structures, algorithms, theory … engineering (operating systems, languages, etc.)?
The major Arcana do seem to be pretty focused on a brand of computer science…
Hmm, and what about List, Array, Stack?
All (concrete) data structures are just constrained graphs.
You mention caches, and they are certainly very important; but I think queues deserve pride of place as the simplest representative exemplar of a computer’s doing something (just moving something from one place to another).