Cognitive Loads in Programming

I’ll drop some separate replies to the post as I go along.


In the simple vs easy section I believe you missed talking about complicated vs complex.

You can have non-complex code that is quite difficult to both create and consume, but in some sense simple (dense, well thought through). An example is “tying the knot”. It isn’t really complex and you can reason about it properly on a high level, but following the evaluation flow is quite difficult. This even goes for Haskell in general in some sense. Reasoning about evaluation is complicated, but not complex.

Complicated is not so much about working memory overload, but classifying/identifying a situation or property.

So the question is, how does “simple” semantically fit in here?

1 Like