If you never took a UX class at school or don’t have a grasp on how to best make use of your time, here are the amazing reasons why people started using GUIs since they were computationally possible.

Recognition vs Recall

Recognizing things is easier than to recall from memory. If you were trapped on an island for 10 years, come back and were put in front of a computer, you would be able to recognize the interface but you would have a harder time to recall from memory how to do something if you were asked. This goes for GUI applications, because our memory degrades over time we lose precise recall but we can still recognize which commands to use even thought we can’t recall them from memory perfectly.

Mental Models

Because the interface is limited its difficult for CLI software to express abstract concepts easily to the user. A user would have trouble figuring out vi editing modes intuitively without reading about them compared to mousepad which anyone can open. Even easy to grasp software such as Nano requires a quick tutorial to get going.

Mistaking complexity with difficulty

Modern GUI applications are complex, CLI applications are difficult. People mistake these ideas when they associate something like Emacs to a modern IDE. Emacs is a relatively simple program which is why the scripts that are needed to write modern software cause Emacs to lag. That being said GUI applications often are slower to start up due to all the extra memory needed and their features which slow down their initial start up but its a small cost.


People often use CLI software because programmer lore depicts engineers from the 1980s using CLI software, this leads into a type of cargo cult behavior where people start using outdated tools which don’t cut it in the modern world. Click here for an example If you see a person using a CLI application, understand that they’re LARPing as 1980s hackers working at bell labs and treat them with patience.

Intimidation factor

Using CLI software lets people peacock to their peers, oddly all of the concepts stated above actually work in favor of this point. Because CLI applications require a learning curve before the user can do anything, any person watching a CLI user will feel off balance because they have no conception of what is happening.

Terminal emulators use a black color theme by default. black and dark colors psychologically intimidate people, they give a sense of power and authority. Often police and judges wear black as a sign of power. People, can also adopt this color theme to their interfaces, often from 2007 all the script kiddies used black colors on their alienware computers.

Movies depict “hackers” using terminal applications but this is because terminals are difficult to grasp right away and the color black causes the initial intimidation factor, which makes them ideal to depict as a dangerous element in a scene without going crazy and personifying viruses as demons which would make it silly. Sadly there are enough people who internalized this false depiction of “hackers” and started adopting this to show off to people on Indonesian cave painting websites.