4 ms·
The unix philosophy is as much to blame for this as what you refer to as the cartel of commercial players. In the world of unix everything is a file and every f
by gizmo 4y ago
The unix philosophy is as much to blame for this as what you refer to as the cartel of commercial players. In the world of unix everything is a file and every file is a stream of bytes. This severely limits the kind of composition you can do. Sure, it's cool that you can redirect some line output into sort(1), but that's all you can do, really. You can't sort by column because output isn't structured or typed. You can't inspect output objects or write programs that build on top of them. Powershell is a step in the right direction but the open source community has loudly rejected that approach.
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.
- tenebrisalietum 4y ago> This severely limits the kind of composition you can do. 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.
- kkfx 4y agoMh, the unix philosophy I know is another: to reduce costs instead of creating a fully graphical and featured environment we just need a basic system with small programs acting like functions users can combine with some IPCs. This allow to reduce costs while not limit much users computers usage. 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.