This reminds me of when GUI's were new in the mid 80's, all the elitist jerks who fancied themselves to be high-caliber nerds loudly proclaiming that it was all a gay bullshit fad, etc., ad nauseum.
Lemme ask you guys, any chance we'll get a humble redaction if it turns out you are completely and utterly wrong about this?
I still think most GUIs are fundamentally wrongly engineered. Not only is there no text interface to them, there's often no interface to the event stream at all. It all has to be done with compiled OO languages, hugely platform-specific binary interfaces, and callbacks, which compared to the scripting power of a good CLI - or even to the original Smalltalk/Dynabook vision - is just... wrong is the only word for it. The whole messy overcomplicated paradigm 'works', but only in very limited cases and in spite of itself.
I mean, to make our fancy classful binary OO GUIs work across the net, what did we have to invent? A text-based, page-based protocol called HTTP. There's something wrong with this picture. Wasn't OO itself supposed to solve distribution scalability problems? In our universe, it didn't. We had to go back to ASCII text streams for that.
There must be lessons to be learned from the whole GUI -> Web experience, but I don't see many people teaching about them, or even acknowledging that they exist.
In comparison to the *nix model, where a software program 'A' generates human readable ASCII text representations of binary objects, which are then piped, character-by-character, to another program 'B', which has to parse the display representation, convert it back to a binary object. Of course, none of these display representations follow any meaningful standard like XML, none can be parsed without in-depth knowledge of all of the various possible outputs (none of which are documented), and there's not even any real consistency between any of the tools or APIs. Not to mention that much of the text manipulation in Linux tools is in ASCII, not Unicode, so the whole thing comes crashing down the instant you step outside the Anglophile world.
This is why the atrocity called 'Perl' was invented, because *nix scripting is actually largely centred around text manipulation, searching, and parsing, not actually, you know.. doing things.
In comparison, Windows exposes stable binary interfaces with auto-discovery metadata that can be directly called by either scripts or native code, and all that is involved is a "drag&drop" operation.
Oh.. the horror!