Making Programming Visual, Spatial, and Learnable

original article by maggie appleton: https://maggieappleton.com/learnable-programming

my highlights

Humans are exceptionally skilled at spatial thinking. Using visual representations like maps, diagrams, and shapes in 2D / 3D space to communicate meaning is something we've been doing far longer than we've been typing text into screens. About 43,832 years longer. Given all that time, humans are much better at reasoning using graphical and spatial mappings than they are with linear abstract text.

By graphical I mean any arrangement of shapes (square, circle, irregular nonagon, what have you) in space that aren't written words.
By spatial I mean the way we use our understanding of being a body with a front, back, left, right, up, and down, to understand the world around us.

The autocomplete, syntax highlighting, and linter systems in modern IDEs get us close to this, but offer just enough freedom to still hang ourselves sometimes. You also need to know IDEs exist in the first place, and then learn how to setup and effectively use one; a heady challenge in itself. Many beginners flail around in blank, unresponsive code files with no autocompletion, syntax snippets, or linters to assist them until someone lets them in on the industry secret (speaking from personal experience here)