People ask why I still use the terminal for most things when better GUIs exist. The honest answer is: the terminal changed how I think about computers, and I don’t want to lose that.
Pipes and Composition
The unix philosophy fits in one sentence: do one thing well, and compose with others. This is so obvious it’s almost banal. It’s also one of the most radical design constraints ever applied to a system.
cat server.log | grep ERROR | sort | uniq -c | sort -rn | head -20
No single tool here knows about the others. They just read stdin and write stdout. The composition is in your head, assembled at runtime.
What GUIs Trade Away
I don’t hate GUIs. I use them for plenty of things. But GUIs make a trade: legibility now for composability later.
When you click through a GUI to perform some operation, you’re trading away the ability to script it, parameterize it, chain it with something else. You’re optimizing for the first time at the expense of the hundredth time.
The Real Argument
The terminal isn’t about nostalgia or elitism. It’s about maintaining a direct relationship with the machine — one where what you see is what’s actually happening, and what you type is what actually runs.
Everything else is an abstraction over that. Sometimes the abstraction is worth it. Sometimes knowing what’s underneath it matters more.
The blinking cursor is honest. It waits for exactly what you give it.