What part of me obviously disliking CUIs makes you think I would prefer a different CUI to the one you first suggested?
What I use is GUI programs. GUI programs are way more responsive to users, give information in much more condensed and more useful forms and don't get overly encumbered by the retarded need to turn all information into text when other ways to convey the information are almost invariably better.
On the contrary - they are great examples of where Visual Studio beats stuff like GCC precisely because it's a graphical representation of the code.
Nobody in their right mind develops code in Vim or Nano or Emacs. The world has moved on to (at the very least) Eclipse and Visual Studio - you know - programs that have intellisense and right-click refactoring and control-click jump-to-definitions, like how Emacs and Vim and Nano don't.
Terminals suck. A GUI always conveys information better, because in the limit, they can just output text in the same way - this thread is a case in point - Anything VI can do, by definition Google Chrome can do better - but as well as the text, GUIs can have menus and clicks and animations and side-bars that immerse you in the information in a way that CUIs simply can't. And another great thing about GUIs? They don't need a manpage or a freakishly good memory to remember how to use the damn thing.
GUIs just work. CUIs mainly exist to stroke the egos of the users who can be bothered to memorize their retarded command line syntax and to satisfy the laziness of their developers who can't be bothered to output information with anything more complicated than a printf.
The title of this thread is wrong. Instead of saying "The future is almost here", it should really read "The ghosts of bad user interaction design from the 1960s are still haunting us".