This here is Vim on top and top on the bottom. (See what I did there? Top? Bottom?
)
Actually, it's a split-screen Vim with the bottom window running top.
Actually, it's a Vim running on a Raspberry Pi over an SSH connection from a Linux server running over an SSH connection from a Windows desktop... anyway, having multiple apps running and on display is no problem even in a no-GUI environment.
As for "obsolete"... I consider it a significant win that I can use text-only connections to remote machines this way. I can remote-access systems in my home network
from my smartphone. All I need is some "obsolete" tools -- a terminal app running a bash shell and a ssh client. And by accessing "obsolete" tools on the remote machine (like Vim, CMake and GCC), I can continue development / administrative work I left unfinished at home, while on travels.
I know that a slick-looking GUI has much more appeal, visually. But when you start calling stuff that worked well for decades "obsolete", I'll ask what kind of replacement you have to offer to do the same kind of things I've done before. Not in an utopia where everything is running
your OS, but in the real, heterogeneous IT world of today.
----
My personal favorite in this (as in many other things) was AmigaOS. It
integrated GUI and CLI with each other, while preferring neither. Interfacing GUI apps from the command line was commonplace, and actively encouraged. Using scripts to expand GUI capabilities was likewise encouraged. (ARexx Ports allowed "piping" GUI apps together just like you would pipe commands together on a Unix box.)
I think both GUI and CLI have their place in computing, today and tomorrow. GUIs are something the casual user expects, especially with the prevalence of hand-held touchscreen devices. Command line and scripting is, and will remain to be, the tool of choice for the power user. Making both talk to each other right from the beginning would make any OS stronger, and avoid the harsh disconnect felt when tossed from one "world" to the other.
----
As for, "if I had to choose
one" (from the OP: "...if this was the only interface supported..."), I'd choose a text interface over a GUI one anytime. Text interfaces depend on much less OS infrastructure. Text works in "recovery mode" when gfx drivers malfunctioned or the whole GUI infrastructure doesn't "click". Text interfaces are more flexible when doing remote access, can give log output not usually available from GUIs, and generally are more useful in "emergency" situations. This, of course, is coming from an old-school desktop poweruser who is "in the shell" 90% of the time anyway...
---
I'd also like to add that there are / have been solutions to run
text based apps with
graphical output (like e.g. running videos from a console-interface). They are a rarity today, because mainstream OS' provide full-fledged GUIs. But for completeness' sake, it should be noted that "no GUI" does not equate to "no graphics".