It seems crazy that with all these innovations in input devices, so many of us control computers via a 80x24 window emulating a 1970's terminal - 80 columns to match IBM punch cards from 1928(!). And I type into these windows the exact same Unix commands I was typing in 1985. It just seems to me there are huge opportunities for progress that are being missed - surely 80-column text windows aren't a global maximum.
30 years from now will we be using neural interfaces to enter Unix commands into 80x24 text windows projected onto our retinas?
I think the main reason CLI remains popular is because it has a property that it remains usable both by humans and computers.
GUIs, on the other hand, can be used well by humans but poorly by computers.
Why would you want the interface to be usable by computers? So that people can easily delegate common tasks to the computer (i.e. automate things). Once you realize you do something often, automate it and will be trivial to do it again. Once it's automated, you can build even more powerful things on top of those automations, and achieve even more with less effort.
This comment is extremely well put. The terminal is an amazingly pragmatic and honest interface. After all, almost all manual interactions leave you wanting a way to automate. Meanwhile, almost all automated processes need the occasional manual intervention. A defined library of specific and unambiguous commands really allows for both.