Sorry, I should have italicized any in my post. As in I don't think the average user can solve any plumbing problem or fix any software bugs without additional resources: documentation and/or assistance.
At least on a command line you can get somewhere with trial and error:
$ ?
?: command not found
$ what do I do?
No command 'what' found, did you mean:
(...)
$ help me
bash: help: no help topics match 'me'. Try 'help help' or 'man -k me' or 'info me'.
$ help help
(...)
A diy plumber who doesn't know of the existence of teflon tape is always going to have some leaky joints. However, as I asserted, I agree that most people can figure all this stuff out pretty easily, I just think most people are too intimidated or just not interested in trying in the first place.
To put it another way, I've found that the concepts of "hierarchical filesystems" and "drain waste vent stacks" are equally foreign and equally accessible to average laypeople.
I still think you're still off by two or three orders of magnitude of difficulty.
I have no background in plumbing - in fact, as a new homeowner, I just learned what a compression fitting is ($#@%!). I read https://en.wikipedia.org/wiki/Drain-waste-vent_system and... it seems pretty straightforward. I could build this, if perhaps with a few more trips to the hardware store than a professional might make.
On the other hand, I work with databases every day. I wrote ROLAP engines in the 90s. And yet this is probably the first time I've ever used the term hierarchical database in a sentence. If you said "here's this hierarchical database, generate a report for me", it would take me some hours to figure out what kind of db it is and how to actually use it. If you asked a layman I think you would get a blank stare.
Not to belittle the craft, but there's something intuitive about plumbing. Software is something different.
In my experience, most people are too afraid to enter the initial `?` in the command line for fear of breaking something. I imagine many would be afraid to do anything with the rench for the same reason.
Also, people new to programming and command lines are seemingly incapable of reading error messages.
At least on a command line you can get somewhere with trial and error:
A diy plumber who doesn't know of the existence of teflon tape is always going to have some leaky joints. However, as I asserted, I agree that most people can figure all this stuff out pretty easily, I just think most people are too intimidated or just not interested in trying in the first place.To put it another way, I've found that the concepts of "hierarchical filesystems" and "drain waste vent stacks" are equally foreign and equally accessible to average laypeople.