Truly Understanding the "Unix Philosophy" - Psychology, Philosophy, and Licenses
Users browsing this thread: 7 Guest(s)
|
|||
(11-09-2016, 04:07 PM)rocx Wrote: Some projects are just complex by nature. Adhering to the Unix way isn't a strict codex but more as guidelines. If you have to break those guidelines, make sure there's some justification. What is more important is that the Git project has a goal. It does version control and considering its rise (GitHub partially to blame), it does it pretty well. Hm. I am not sure if version control is actually that complex. I mean, maybe it's unfair, but in my opinion, git has a lot of accidental complexity in it. Also, it has a lot of features for configuration of output and options like that could be left out. (11-09-2016, 04:07 PM)rocx Wrote: But yet there are many different tools that can more or less do the same thing. For example of including a file in another, you can use cat(1) to concatenate one on top of the other. You can use m4(1) (general text preprocessor) or cpp(1) (C preprocessor) with include() or #include to target where to put it in. Want to include a file in a document? troff(1) has the .so request to source another file in. Okay, true. But none of these programs includes one of the others in it's feature set. Or maybe we as humans are not capable enough to find the program that perfectly includes a file in another one, but this is what unix would demand in the end. What would you say about integrating a line-numbering in a pager. Is that 'okay' in the unix philosophy? Another point comes to my mind. A lot of people claim that X (nodejs (http://blog.izs.me/post/48281998870/unix...and-nodejs, https://www.safaribooksonline.com/blog/2...d-node-js/), vi (some reddit comment I can't find right now) adheres to the unix philosophy. They list then the points of the unix philosophy 'Do one thing and do it well, speak text'. But they are wrong, because of one reason: Their programs are unices, but the rules are for unix programs. Unix is more about integration into an existing unix than about reinventing unix in the form of a javascript runtime application or a text editor. vi is a unix because you can combine it's commands, but you can't use them outside of the vi context. |
|||