All GUI apps are different, each being unhappy in its own way. Moated fiefdoms they are, scattered within the boundaries of their operating system. CLI is a common ground, an integration plaza where the peers meet, streams flow and signals are exchanged. No commitment needs to be made to enter this information bazaar. The closest analog in the GUI world is Smalltalk, but again - you need to pledge your allegiance before entering one.
We have systems for highly interoperable and compostable GUI applications - think NextSTEP or, modern day, dbus, to a lesser extent.
Really, GUIs can be formed of a public API with graphics slapped on top. They usually aren't, but they can be.
I weep for what happened to AppKit/Cocoa
Just because it says compostable on the container doesn't mean it will actually break down in a reasonable amount of time on your home compost heap, or that they don't leach some environmentally harmful chemicals in the process.
Many modern web apps are just APIs with a browser GUI.
I'd say ROS (Robot Operating System) is the closest to this ideal.
> Moated fiefdoms they are, scattered within the boundaries of their operating system.
Yet highly preferred over CLI applications to the common end user.
CLI-only would have stunted the growth of computing.
I'd love something like the Emacs approach. Multi-UI's. Graphical, but with an M-x (or anything else) command line prompt in order to do UI tasks scriptable, from within the application or from the outside.
Emacs is smalltalk with characters instead of pixels.
Smalltalk does characters and pixels.
Apple ShortCuts and AppleScript integration is also cool.