That's nothing to do about "computers" that's just about those who implement them commercially, making a cartel who is closely similar to classic Sicilian mafia. Those who in the west are commonly known now as GAFAM, yesterday as IBM, then Microsoft, Yandex in Russian Fed., Baidu in China and so on.
Their development diverge from the concept of an unique integrated environment, interconnected with peers, the Desktop, to push first "individual applications" who are like "promoted functions" the end users can't really change nor combine, than "individual services".
So today if I post in HN from Firefox directly I can't get 2+2 = 4 whith the = 4 computed, because that's "a function" done by some other programs, while in Emacs I can compute easily because a function is a function, no barrier exists and such function do not need specific design, package, install, distribution, update etc might be just something like
(defun eval-math-expr (beg end)
"Quickly run calc on a region (from BEG to END)."
(interactive "r")
(require 'calc)
(let ((result
(calc-eval
(buffer-substring beg end))))
(save-excursion
(goto-char end) (insert " = " result))))
witch can be bound to anything I like. And in the same way anything is done in the same environment. That's the "end user programming" and the "end user glue" of anything where the barrier between code and data do not exists and so it's possible to produce anything on a desktop, with reasonable effort.I agree that end user software should be programmable, but I think we've learned that you can't make good software by having applications talk to each other by JSON or XML over HTTP.
UNIX-the-kernel just says the operating system is the wrong place to enforce data schema - the operating system's job is supporting the notion of users, processes, and abstracting I/O so each process can use I/O without stepping on each other.
UNIX-the-userland is awesome because it's fast, but you are right. But, if all UNIX processes basically have to link to a libc, there is no reason why some efficient object serialization/deserialization library that's better than parsing argv/argc can't also occupy that position - other than we don't know the best one yet.
Could put one in systemd, or maybe sqlite should be part of libc /s.
Unix break it's own rules adding graphics environment who do not nor can follow it's own philosophy.
The everything is a text stream is a good principle, unix fails to implement enough. Plan 9 implement it better but was simply too late to have a chance and yes, both fall because they choose to avoid Lisp and the concept of OS as a single application.
On contrary modern ideas trying to supersede absurd limits of modern OS design like the modern web with JSON and co prove to be an excellent source of bugs and still being far behind the power of classic systems because they completely fails in the basic principle to put the user and user programming at the center doing on contrary their best to give something to some intermediate levels (like devs) AVOIDING give real power to users.
PowerShell is the apotheosis of a systems designed by people who are very skilled in mere programming without ANY CLUE on the purpose a desktop computer should have, and that's why is something modern programmers love while sysadmins and users prefer to avoid. You are right stating that we can't made good software with JSON and so passing as IPCs, but you fail to see the classic model instead of PS. PS is very well designed in software engineering terms, and it's then perfectly useless for a casual user usage. An org-mode table is not much a good idea in software engineering terms, but it's perfect for casual usage. That's the point.
Having something else, something more simple and often having something more text oriented is a wish I have now seen often at different places on the internet. Maybe there is something missing, maybe just a place to tie it all together, leadership, or maybe its just that everyone wants something so slightly different, that there can be no concerted effort?
But certainly people with such wishes would benefit if there was some groundwork laid. And I also think showing instead of telling what we could have could also positively impact the rest of the ecosystem.
Could you expand on this statement?
If some websites or services are too insisting on consuming (apps, youtube, news websites, telegram publics) than you may just not use them. But if your computer has no keyboard than you can not effectively produce text which is (and always was) the very basis of human civilisation. What if possible to create if 97% of people are not working with either text or anything analog? Various spam like Youtube videos and photos for social networks?
Much of modern tech is bloated ad-infested garbage, but you can just opt out. You don't have to spend your life consuming content and gluing libraries together.