Talk:Unix philosophy

message: This page needs a serious cleanup, I have started to remove irrelevant fluff and try to make the page clean and more in line with the unix philosphy itself ;) Specially the section about "worse is better" needs a big cleanup/rewrite, but I will leave that for later.
OK, any suggestions for a cleanup? To me the article pretty much fits the UNIX philosophy. A one sentence introduction, and a few bullets each by a person or type of philosophy. So, does this need more text? Also, I would like to hear comments on the "no news is good news" aspect of the UNIX philosophy.
:I think a safer approach - rather than typically going out on a limb and trying to contentiously define something - would be to report on what others have said, pointing out there is quite a lot of talk about the "Unix philosophy" and many people have expressed it in many ways over the years. I'd take pains to make that very clear from the outset - that the article is about the growth of the concept of a "Unix philosophy".  —Preceding unsigned comment added by 86.217.209.23 (talk) 03:06, 15 March 2009 (UTC)
replies: text: I'm writing long after most of the conversation on this Talk page, to explain s.t. I just did.  Namely, there was a para mentioning Don Norman's criticism of the Unix philosophy at the end of the section entitled "Origin".  I don't believe it belonged there (indeed, I had to read Norman's original article to understand what it was about), so I started a new section entitled "Criticism" and moved the para about Norman there. Mcswell (talk) 02:06, 9 September 2017 (UTC)
thread_title: Cleanup

message: McIlroy did NOT invent pipes - he SUGGESTED them. Ken Thompson and Dennis Ritchie invented them.
: Such semantic significance seems spurious/superficial. Richard Taytor (talk) 02:21, 23 October 2009 (UTC)
thread_title: McIlroy Inventor

message: Pike's notes don't belong in a discussion of Unix philosophy. They pertain to "engineering philosophy" perhaps but there is nothing in them to make them specific to Unix. Nothing. Also: Thompson didn't rephrase the Aussie's rules - it's the other way around.
:Please sign your post by typing four tildes (~~~~)! And yes, that was my reflection too: Pike's notes belong to a pretty universal programming philosophy, but they cannot easily be reinterpreted as being part of Unix philosophy. Rursus dixit. (mbork3!) 08:54, 1 May 2010 (UTC)
thread_title: Pike's Notes

message: Yes, in agreement with the cleanup part, I also believe that a missing UNIX philosophy is "No news is good news".  Things like cronjobs should not spit out a bunch of verbiage unless there is an error.  Programs like grep will be quiet AND exit with a non-zero status if the filter does not find anything.  Utilization of stdout and stderr.  Putting all irrelevant information in /dev/null when necessary.
I believe this is a very important UNIX philosophy that seems to be disappearing over time.  I believe it is worthy of a mention in the main article.
:Yes but it's equally borne out of the fact they were using teletype printers and didn't want excess verbiage there. Thompson is beautifully cryptic but there were other factors.  —Preceding unsigned comment added by 86.217.209.23 (talk) 02:52, 15 March 2009 (UTC)
replies: text: This is mentioned in the Eric Raymond section of this article ("if a program has nothing surprising to say, it should say nothing"). 4.242.147.174 20:09, 29 August 2006 (UTC)

text: I find this point also important to mention. It makes a lot of scripts simpler. Imagine every command in a script would output something. And a workaround to mute commands would add complexity. This point should get added into the main article. 79.226.252.10 23:58, 18 March 2019 (UTC)
thread_title:  No news is good news 

message: As I see it what we have here is a difference of opinion over what is an appropriate level of discussion within the article over the differences between the GNU and Unix methodologies. The sticking point is what appears to some to be accusatory and emotional language within the article deriding GNU for not sticking closely to the Unix philosophy. Unfortunately there seems to be an element of zealotry involved here -- the anti-GNU partisans (for technical reasons, thankfully) seem determined to expose GNU software as a waste of resources, while those opposing the language in the article oppose it on POV grounds rather than any particular espousal of the opposite side. I do think there is a way of stating that GNU software doesn't always measure up to the Unix philosophy as the opinions of some members of the community, and I don't have any objection to restoring at least that much of the original section if there's some way to write it that we can all agree on. It also occurs to me that given the widespread use of KISS techniques in the original Unix kernels, the Unix philosophy, such as it is, would also take a very pragmatic attitude towards tool use. As a last point, I might state that nobody's ever bothered to rewrite the syntax of dd(1) over the years even though it's a hideous joke created by a prankster with IBM on the brain -- for whatever reason everyone chose to leave well enough alone. The Unix philosophy, above all, seems to be very accepting of strangeness and cruft as long as it doesn't cripple the design. Haikupoet 04:19, 22 October 2005 (UTC)
replies: text: I'm sorry but I think you are still missing the point. "sticking closely to the Unix philosophy", more like being directly opposed to the core values of the Unix Philosophy. And this has nothing to do with resources, after all once of the Unix core values is "when in doubt use brute force"(Ken). And yes, pragmatism is one of the Unix Philosophy core values, that is why there are no universal rules in Unix, except keeping things simple, and sometimes keeping things simple means that things are ugly("worse is better"). GNU on the other hand builds and builds, and changes everything at every release with total disregard of simplicity and any other Unix principles.(which is perfectly fine, but puts it directly at odds with the Unix Philosophy) Lost Goblin 08:45, 22 October 2005 (UTC)

text: The 'brute force' bit was a JOKE for JH Chrissakes. DUH. — Preceding unsigned comment added by 86.217.209.23 (talk) 02:57, 15 March 2009 (UTC)
replies: text: The smartass answer to this is to point out that "GNU's Not Unix". Haikupoet 04:30, 23 October 2005 (UTC)
replies: text: Playing games with acronyms is not helpful. From gnu.org: "The GNU Project was launched in 1984 to develop a complete UNIX like operating system which is free software: the GNU system" Lost Goblin 10:05, 23 October 2005 (UTC)

text: There can be several interpretations of 'not Unix' of which yours is only one. — Preceding unsigned comment added by 86.217.209.23 (talk) 02:57, 15 March 2009 (UTC)
replies: text: If you want an article entitled 'GNU Philosophy' then by all means put it in. Otherwise mention of GNU in the context of Unix is definitely not appropriate. Reeks more of jihad thinking than anything. —The preceding unsigned comment was added by 193.92.203.237 (talk) 23:28, 13 January 2007 (UTC)

text: Agree as to inappropriate with GNU in this article. — Preceding unsigned comment added by 86.217.209.23 (talk) 02:57, 15 March 2009 (UTC)
thread_title: Framing the GNU debate (from one perspective)

message: The ESR book section is pretty long, particularly because of the list of rules. Would anyone object if I moved them to the main article at The Art of Unix Programming, and summarized the book in a more concise form here? --Jon Dowland 23:39, 9 November 2005 (UTC)
replies: text: Nope.  Now that there is an article for it, the rules should probably go there. I'd suggest keeping one or two in the summary tho'. --Maru  (talk) Contribs 01:20, 10 November 2005 (UTC)
thread_title:  esr book section 

message: Isn't the premature optimization quote normally attributed to Donald Knuth, of The Art of Computer Programming fame? —Preceding unsigned comment added by 86.6.14.190 (talk • contribs) 
It is not clear to me to whom this quote is attributed. See http://en.wikipedia.org/wiki/C._A._R._Hoare  —Preceding unsigned comment added by 189.13.222.164 (talk) 14:19, 10 June 2009 (UTC)
thread_title:  Knuth 

message: What exactly does cognitive engineering have to do with the Unix philosophy? I'm not seeing the connection here at all, and it isn't made clear in the article either. I'm not sure, for example, why someone saying that most things in cognitive engineering are bullshit, has any real connection to the Unix philosophy. Huihermit (talk) 13:20, 14 December 2015 (UTC)
replies: text: Pinging the editor who added this all. -- intgr [talk] 16:32, 14 December 2015 (UTC)
replies: text: I added a lot of material when I discovered an interview with the author of those quotes. Basically he was the guy that gave the machine time to the others to develop Unix. He ran a department and moved in to software from a physics/electrical engineering background. I understand it may seem tangential but given the "origin" section I think including comments and an explanation of the academic background of early criticisms of Unix's interface and the reactions they generated are definitely relevant. At present the content doesn't hang together very well, a good way to solve this is to add more cited content from that period. prat (talk) 07:34, 15 December 2015 (UTC)
replies: text: The problem in my view is that this is not an article on the history of Unix. It is an article on a very specific philosophy used when developing Unix software (mostly about small software tools that can easily work together through pipes, plain text, etc.). I agree that some of the material in that interview could be useful, but I think it would have to be used carefully and with enough context, maybe in an article like History of Unix. Or possibly something about the Unix shell, or command-line interfaces. Best regards. Huihermit (talk) 09:27, 15 December 2015 (UTC)
replies: text: I think the fact that there was a semi-formally established school of thinking 'cognitive engineering' was indicative of the time and place and therefore tangentially relevant to the origin of the unix philosophy. However, the contemporary published, direct, analytical attacks on the design of unix that cognitive engineering practitioners made and any published responses from those involved in its early design and use are, in my view, certainly relevant. Therefore overall I think the addition of the material is a good one. I agree the current state of the article is less than ideal. I agree that the History of Unix article could probably benefit from the interview's material, probably substantially more than the current article, however the total lack of criticism or contemporary quotations in this article is really a bit of a problem here and deserves some application of effort. Do you think you can find any more quotations or pithier reducible statements from those involved in Unix's early days about how the design philosophy differed from previous and contemporary systems? Personally I believe this is what the article lacks. prat (talk) 10:31, 15 December 2015 (UTC)
replies: text: Is this article just for collecting material that might be "tangentially relevant" to the Unix philosophy? I consider myself to be pretty well-read on the history of Unix, and even I for the life of me can't figure out why these ideas about cognitive engineering would be appropriate for an overview of the Unix philosophy. Does an encyclopedia article on this subject really benefit from a quote about someone saying that most of cognitive engineering is bullshit? Why does this even exist in the article? It's beyond confusing and I'm sure other readers would be confused by it too. And of course there is the fact that the person being interviewed never worked as a developer of the early Unix versions in which the Unix philosophy developed. Huihermit (talk) 12:05, 15 December 2015 (UTC)
replies: text: I agree 100% that particular quote is unnecessary and confusing when considered alone, however it is enlightening as a contemporary response from the Unix crowd to the criticism raised in the Truth About Unix (cognitive engineering crowd). If you can find a better response quote, let's use it. I don't think being well read really helps, this sort of thing is essentially modern history / contemporary so facts are still coming out. The person interviewed was responsible for very important hardware in the history of Unix such as the first digital telephone switch, and worked directly with the authors in the early days of the system.  prat (talk) 23:43, 15 December 2015 (UTC)
replies: text: Since it's accompanied by no context and the origins of the Unix philosophy are in the 1970's, citing a 1980's criticism of Unix in the section that is supposed to introduce the Unix philosophy is not helpful. This article is not about the Unix user interface. It is about the Unix philosophy of building software tools. Just because someone worked in the same company as Ken Thompson and Dennis Ritchie does not mean that this quote is appropriate for the page or has any relationship to the subject. You have stated yourself that these quotes are only tangentially related to the subject, if they are related at all. Furthermore, from your earlier edits to the cognitive engineering article, it is clear that you are not even familiar with the subject of cognitive engineering or its origins. You are assuming that there is some relationship between early Unix and cognitive engineering, but even the interview with Condon states that Unix preceded cognitive engineering and did not use the concepts of cognitive engineering. Trying to insert materials about cognitive engineering in the section on the origins of the Unix philosophy is anachronistic and unrelated. These quotes and sources should have some clear relationship to the subject but they don't. Huihermit (talk) 03:03, 16 December 2015 (UTC)

text: Also, please see: Wikipedia:Relevance of content. Articles should also use Wikipedia:Reliable sources, published materials about the subject of the article, and mainly secondary and tertiary sources. There should not be presumptions like "maybe Ken Thompson and Condon influenced each other and so cognitive engineering must be some influence on the Unix philosophy." That's sloppy original research and inappropriate for an encyclopedia article, in which content must be on-topic and verifiable. Huihermit (talk) 03:20, 16 December 2015 (UTC)
replies: text: Thanks for your re-ordering edit, I think that was a great improvement. Regarding your statements here, I do believe 1981 can be considered part of the origin period of Unix's development. Cognitive engineering was, as far as I can tell reading, a vaguely defined engineering philosophy and *not* an interface-exclusive philosophy at that time, though it's major proponent went on to have a successful career in human-computer interface theory and thus it appears that cognitive engineering's popular meaning has, as a result, been 'bent' in that direction. This is why it is important to take actual sources - period quotations or reflections from the horse's mouth - rather than hand-waving when looking backwards. I do fundamentally agree with you that the link to some of this content (not all, eg. the "unix philosophy is x" quote) is linked via a pretty weak tangent right now relative to the other general content, however I would hope that this will improve over time as additional information is published and added about the period. Regarding your second paragraph, there is no original intepretation here, Condon quotes specifically about his involvement with Unix and about Unix philosophy itself in the cited interview. Probably I have made a poor summary, feel free to revisit and do a better job if you so desire. prat (talk) 09:29, 18 December 2015 (UTC)

text: To us standing here in (almost) 2016, a 1981 article regarding the design philosophy of Unix up to that point is pretty much discussing the 'origin' period. If you can find an earlier critique of the the design philosophy of Unix and a response, then by all means add it. prat (talk) 22:32, 18 December 2015 (UTC)
replies: text: OK, I've removed the second quote and reworded, also re-ordered the 'stay out of assembler' thing up under the first statement (small tools) which flows better to my mind. What do you think? prat (talk) 22:44, 18 December 2015 (UTC)
thread_title:  Cognitive engineering? 

message: (one of my favorite though many are valuable)
"everything is a file"  — Preceding unsigned comment added by 72.219.207.23 (talk) 02:13, 5 March 2016 (UTC)
replies: text: Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features". It sounds great. Then you realize that you can delete files with find, because it allowed them to run one process instead of two, and that trumped any "philosophy" they might have… 89.64.69.177 (talk) 02:46, 5 February 2023 (UTC)
thread_title: Unix Philosophy