Speak English to me: The secret world of programmers
The problem is mainly one of discoverability. The non-programmer in the examples says &quot;simple&quot; when they mean &quot;discoverable&quot;. The programmer says &quot;simple&quot; when they mean &quot;not much code complexity&quot;.<p>Of course you disagree.<p>All the examples - installing and using a package manager, running a command line program - are &quot;simple&quot; from a software point of view, but they&#x27;re not at all &quot;discoverable&quot;. To understand the steps you need to memorise a seemingly meaningless sequence of text.<p>Of course, the programmer has a very strong underlying model of all of this, and so these commands seem straightforward. But even for a programmer, this stuff isn&#x27;t very discoverable. I&#x27;m frequently stumped by man pages, and end up having to hunt down an example of how to use a particular command line application on Stack Overflow. I&#x27;ve been using linux for decades and I still often can&#x27;t find where an applications binaries or config live, and I still very often have to type some magic incantation I found on Stack Overflow into the command line, because my mental model of some subsystem of Ubuntu isn&#x27;t complete enough to know it. None of these things are discoverable - I&#x27;ve got more patience than most in searching Google and Stack Overflow, but it&#x27;s not exactly a desirable way of using a computer. I would prefer it if there was a nice button in the system settings that did what I wanted.<p>When things aren&#x27;t discoverable, they become hard. And people don&#x27;t generally like doing hard things. That&#x27;s not exactly a revelation.