Truly Understanding the "Unix Philosophy" - Psychology, Philosophy, and Licenses
Users browsing this thread: 4 Guest(s)
|
|||
DRY is a very important concept in my opinion for the unix philosophy. Never implement a feature twice is exactly what having one single command for it is about. I think it's hard to determine the right size, for example xbps is split into different utilities, while pacman is one single program. But to me, pacman feels right. The chart venam gave for orientation might help, but that is not for sure. There are lots of programs that are a lot bigger and still very simple and clean (the rc shell, the sam text editor, ...).
Also, I am not sure how to think about huge software projects split into lots of small utilities. The git project comes into my mind. It is very complex, very complicated, very flexible and very fast. But is it truly unixy? I fear not. Then, about the question of text: I've heard people argue that structured information would be much nicer in unix pipes, like windows powershell does with objects. I fear that this would lead to complications, that the parsing of the information would cause more work than it would relieve. But on the other hand I am rreally enjoyed using jq (a json command line processor), which probably means that the text approach is better, because it gives the possibility of using special formats without enforcing them. I have also come to the conclusion that file servers (in the idea of Plan 9, or like ii or ratox) are a wonderful idea. They allow to interact with running programs in a plug-on manner, without sacrificing any of the unix philosophy. (11-09-2016, 02:18 AM)venam Wrote: What a Unix-like OS is is more than that, like all big generic concept, it's social first, it's a state of mind. This is a nice quote. It remands me of 'In the beginning was the command line', where Neal Stephenson remarks that unix could be reimplemented from scratch without any documents because hackers in the world have memorized it, and it is much more a culture than an operating system. |
|||