This is all quite silly. A CLI can be at least as effective as a GUI when designed properly. Do you think you don't have to remember anything to use a GUI? Anyone that has used a graphical program understands there is still memorization involved -- you're just memorizing where that icon sits, which series of clicks you must perform and in what order, etc., instead of a list of switches. And a list of switches is often preferable once you get over the stigma of the CLI; it's much more explicit and a simple --help outputs all of your choices, (usually) in a relatively concise list. I for one find this much nicer than clicking on everything in a GUI until something works and then not being able to remember what I did; on a CLI, I can just check my command history.<p>The bottom line to all of this, though, is that people need to accept that if they wish to use a computer without harming themselves or others they'll need to sit down and learn a few things. It'd be good to teach people that both CLI and GUI are acceptable user interface mechanisms and that they both can work well depending on the task and implementation at hand, among other basics.<p>Do we get constant outrage that it requires some basic training to get a driver's license? We recognize the value of driving a car and we're willing to put in the requisite training time to get a basic understanding of how to use a car safely and properly. We are going to need to cultivate the same attitude in computers if we are going to progress in a very meaningful way.<p>As a driver does not necessarily have to understand the inner workings of their transmission, engine, etc., a computer operator should not have to understand the inner workings of the operating system, CPU, etc., but people need to accept that they will need some basic literacy in order to have a smooth computing experience. These are complex machines, after all, and it's almost silly that people expect to magically be able to use them with very little cognition, at least initially. There is no reason not to have basic courses that teach people fundamentals in UI design, so that they can not only use the current version of program X but also figure out how to use X+1 when the vendor decides to totally renovate the interface.<p>And, if we have that basic literacy, people won't be so frightened to experiment with new interfaces and learn how new things work, which is a fundamental issue for most of the persons > 40 yrs that I know who use computers regularly. People would know how to make sure their files don't get lost, how to press Ctrl+Z or find the undo option, how to read corresponding man/help pages and how to look something up on Google when extra help is needed. These are the basics to successful computer operation, and everyone would be a lot happier if they just recognized the need for this training instead of constantly demanding that their computer work as simply as their toaster.