Human Error in Programming
Maksim Solovjov

Thanks for an interesting article. Sadly, you can’t find a lot of articles like this on the web — people are much more keen to demonstrate their opinion on which programming language is better rather than spend time analysing something that really matters.

One of the things that interest me the most these days are the modal errors that people make. In general, they arise due to an increased mental load — having to keep too many things in your head and operate on them at the same time. I think you could have picked a better example to illustrate modal errors — while as an editor, Vim may be confusing at first, it can be quite beneficial when mastered. Designing systems with stateful services or using mutable objects, however, often introduces complexity where it is not required. As Alfred Whitehead said:

Civilization advances by extending the number of important operations that we can perform without thinking about them

That’s why I think that, in general, we should avoid modes and states in software.