Source

Thread

1/ @nicbarkeragain

I think one of the biggest level ups I had in programming was shaking off the metaphor associated with data “moving”. There’s no such thing as moving bits, you can only copy them from one place to another. You can’t “remove” array / list elements, you can only overwrite them.

Branches: 2026-08-25-smolus-i-still-find-myself-sketching-data-flow-diagrams, 2026-08-26-mirbacx-some-distinction-between-allocating-new-memory, 2026-08-26-interlarper-something-that-cs-suffers-from-is-not-being-clear

2/ @nicbarkeragain

Computers don’t work at all like the physical world. We tend to mentally conceptualize a computer like a factory floor with things moving from one place to another, but a running program is much more like a painting. To “move” something you need to cover and repaint it elsewhere.

3/ @nicbarkeragain

It’s so easy as a student / junior to think of a list type structure as being “empty”. When in reality you’re using the length / count to represent emptiness, the element memory is still there regardless (maybe zeroed, maybe not)

Branches: 2026-08-25-big_tony299-i-think-its-actually-easier-to-reason-about-your