Talk:Unix philosophy

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Linux  
WikiProject icon This article is within the scope of WikiProject Linux, a collaborative effort to improve the coverage of Linux on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.
 
WikiProject Computing  
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.
 

Cleanup[edit]

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)

I'm removing the clean-up tags since nobody bothered cleaning-up. If somebody actually wants to contribute to the discussion and do something about the article, feel free to re-tag for clean-up. Breadtk (talk) 04:42, 7 January 2012 (UTC)

McIlroy Inventor[edit]

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)

Pike's Notes[edit]

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)

No news is good news[edit]

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)
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)

"Learning from mistakes"[edit]

I was about to correct the grammatical weakness in:

  • "It is surprising that both the X Window System (led by one of the main Multics contributors) and the EMACS editor, were designed by former MIT graduate students after the Multics system had failed, that makes some Unix hackers wonder if MIT systems researchers ever learn from their mistakes"

but then I realized that this statement is unnecessarily pejorative towards MIT researchers and adds nothing to the discussion of Unix Philosophy. I'll remove it unless anyone objects. --Steve Summit 03:51, 14 July 2005 (UTC)

I think it fits the Unix philosophy quite well... Lost Goblin 20:09, July 14, 2005 (UTC)
Is that an objection to removing the sentence? Anybody else? Steve Summit 14:13, 16 July 2005 (UTC)
Yes, I object, but I agree that maybe it can be made less POV, but then, Unix philosphy is a very subjective thing and it's not suposed to be inpartial. --Lost Goblin 16:15, August 1, 2005 (UTC)
Ok, I wrote those paragraphs. The problem with UNIX today is that the MIT researchers and projects such as GNU are destroying The UNIX Philosophy. These paragraphs were my attempt to be critical of this perversion of UNIX.
UNIX was an attempt to get away from the MIT philosophy and bloatware of Multics. Now the GNU project and its minions have written 7 out of 9 of the largest (bloatware) software packages for UNIX/LINUX (see http://www.dwheeler.com/sloc/ for details.) --Don Gillies 14:45, 12 Sept 2005 (PST)
What's so bad about Emacs, X Windows et al? They're pretty modular, stable, and understood. Plus, they work darn well. --Maru (talk) 03:20, 13 September 2005 (UTC)
What's so bad about Emacs? LMAO You need to study and absorb more Unix philosophy! Modular, stable, understood? Reread your McIlroy. Concentrate on the bits about 'small programs working well together'. Then look at BWK's work with Lorinda Cherry. And with Aho on awk. And so forth.
I'm not going to comment on the quality of those various projects, that is not really what this page is about; but one things is clear to anyone that has even a basic knowledge of Unix philosphy: those projects are in direct conflict with the most fundamental Unix principles. Dont take my word for it, here is what ken has to say: "The X server has to be the biggest program I've ever seen that doesn't do anything for you." Lost Goblin 19:40, 13 September 2005 (UTC)

I have removed the paragraph about GNU vs. Unix entirely. It is simply too POV to be salvaged. At most, perhaps a sentence along the lines of "GNU software, which replaces many common Unix utilities, is often considered too large and complex to fit into the Unix philosophy". Haikupoet 20:27, 17 October 2005 (UTC)

I think many people would consider "GNU software does not fit into the Unix philosophy" as an observation rather than an opinion. Most adherents of the unix philosophy would even say that GNU goes directly against the Unix philosophy. Of course the Unix Philosophy can be considered a POV, but there is a clear disagreement between Unix philosophy and GNU. So if what we are descriving here is the POV of the Unix Philosphy, I would think it should be acceptable to mention how it sees GNU software. Lost Goblin 22:13, 19 October 2005 (UTC)
Yes but 'Unix philosophy' itself is an opinion!
Wellllllll... What it comes down to is that the section that was written was POV and had to go -- it was a rant, pure and simple. It is fundamentally true that many GNU programs don't really stick to the Unix philosophy in terms of design, though there's a world of difference between pointing that out and outright accusing it of being "bloatware". I'm not aware that there is a non-POV definition of the term -- a raw count of KLoCs such as was cited in the rant certainly isn't a particularly useful demonstration of what is and isn't bloatware (something I would associate with unnecessary features, in which case you'd have a case for Emacs, and excessive layers of abstraction). Point is there's no place for value judgements in an encyclopedia unless you have solid definitions and quantitative proof. (I point out the article that I wrote at long range locators -- such devices have been tested and examined and can be fairly conclusively proven to all but true-believers that they are incapable of functioning as claimed.) And one could easily argue that the Unix philosophy in its purest form is obsolete, but it wouldn't belong here either. What it comes down to is that if the basic point is to be restored in the article, it has to be stated as the opinion of some observers and/or a direct quote from someone like Richard Stallman who is responsible for the design principles for such programs. Haikupoet 03:31, 20 October 2005 (UTC)
I still think you are missing the point, this article is about the Unix Philosophy, and I think it's up to the adherents of such philosophy to decide what they think of GNU software; and the rant(I agree it was a rant) was rather representative of the views of adherents of the Unix Philosophy, hence relevant even if not very well articulated. If you want "quantitative proff" do a survey among people that believes in the Unix Philosophy and see what they tell you about GNU, I know quite many such people, and what they will tell you won't be pretty Lost Goblin 16:43, 20 October 2005 (UTC)
Of course any such comments should not be presented as facts here, but as the result of applying the unix philosophy to GNU software, obviously other people and other philosophies will have very different views of GNU software. Lost Goblin 16:45, 20 October 2005 (UTC)
While we are at, why don't we cadge shamelessly from Raymond and Gancarz and the others, and present their opinions on VMS, DOS, Windows, Macs, the BSDs etc. degree of adherence to, and implications for, the classical Unix philosophy? We could have a whole section with subheading for each different family of OSs! It could practically double the size of the article, adding mountains of valuable content! --Maru (talk) 17:41, 20 October 2005 (UTC)
Are you volunteering? And GNU deserves special treatment because it is very closely related to Unix and has misleed many people about the Unix Philosophy. --Lost Goblin 21:04, 20 October 2005 (UTC)
Not at all. My point was that any such sections are hopelessly POV, and that a compare and contrast with other OSs would probably not be productive. Even if it was, it would belong on OS advocacy, not here. Now, an (more) example(s) of Unix philosophy from Unix or Linux would be good, but I don't have the time to add any. Besides, the references contain plenty of those. --Maru (talk) 23:56, 20 October 2005 (UTC)
You're half right. GNU could be considered worthy of special treatment because of its Unix connections. As far as it misleading people about the Unix philosophy, that's less a neutral statement than a bucket of kerosene to throw on a flamewar that, for the most part, is not currently being fought. In any case, one interesting point about GNU is that its ethos developed separately from the Unix world -- Emacs, most notably, is not, never has been, and never will be an exemplar of the Unix way; it's a naturalized citizen of that world. GNU may be part of the Unix world, but it comes from the world of ITS and TOPS-10. Just some comments that might be of use in the debate... --Haikupoet 02:32, 22 October 2005 (UTC)
Actually, one of the interesting things is (I've added this to Editor war as well) that Emacs could be seen as an unorthodox example of Unix philosophy, since it is deliberately structured as a core interpreter with a few utilities, and all the extra stuff bundled up into modules that can be loaded and unloaded as needed (unlike vim, where the extra functionality has to be written into the core program itself, leading to a pretty large program.) Just to provoke some thought. --Maru (talk) 03:37, 22 October 2005 (UTC)
A fair point -- then again, my text editor of choice is BBEdit so I don't have a whole lot of familiarity with Emacs :-) In some ways it's very much a matter of perspective. The fact remains that an encyclopedia article is not the place to push an anti-GNU agenda -- words like "perversion", "bloatware", and "misled" have been thrown around here, and I don't think that such loaded language is a good sign for the future of the discussion. On to a new section -- this is nested way too deep. Haikupoet 04:19, 22 October 2005 (UTC)

Framing the GNU debate (from one perspective)[edit]

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)

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)
The 'brute force' bit was a JOKE for JH Chrissakes. DUH.
The smartass answer to this is to point out that "GNU's Not Unix". Haikupoet 04:30, 23 October 2005 (UTC)
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)
There can be several interpretations of 'not Unix' of which yours is only one.
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).
Agree as to inappropriate with GNU in this article.

esr book section[edit]

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)

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)

The ESR rules are still there 3.5 years later, and I suggest they stay. The book is by the most readily available text on Unix philosophy available today; anyone researching the Unix philosophy will encounter them. JöG (talk) 17:21, 11 July 2009 (UTC)

Knuth[edit]

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 (talkcontribs)

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)

Strunk/White?[edit]

I think a citation is necessary if it's going to be claimed that 'Elements of Style' has a direct influence on Unix. I think in such case the citation would be directly attributable to Ken. I think in such case most of us would have heard of it by now. I think in lieu of such a citation that the reference be removed. —Preceding unsigned comment added by 193.92.203.237 (talkcontribs)

Sorry but this is downright ridiculous. BWK can't cite influences as he had nothing to do with creating the system - he only proselytised it.
I am sure Brian mentions Strunk&White as a very strong influence, I'm not so sure about others being so specific, but it certainly was a popular book at the labs. --Lost Goblin 00:00, 14 January 2007 (UTC)
Right. If you believe this to be true then find a reliable reference. Otherwise you might as well cite Lewis Carroll.

Software Tools[edit]

There should be mention (more than a mere mention) of BWK's Software Tools series. This series serves to elucidate the Unix 'idea' and get it 'out there' independent of OS or programming language. What would BWK think if he saw this page and saw that Software Tools wasn't even mentioned? (I know what he'd think: he'd shrug it off with a chuckle.) BWK is one of the finest human beings to come out of that era at Bell Labs and one of the finest pedagogical talents ever and without a significant section on his contributions this piece cannot be considered complete. —Preceding unsigned comment added by 193.92.203.237 (talkcontribs)

I agree. --Lost Goblin 02:57, 14 January 2007 (UTC)
Me too. But still no mention of it? Software Tools - along with BWK's work on the C book - is what got the message out. It's what proved the "Unix philosophy" wasn't something limited to Unix.
Possb somewhat hard to assert with proper extrefs, else danger of WP:OR, but List of Unix utilities, a list of progs to be considered. Rursus dixit. (mbork3!) 17:29, 21 March 2010 (UTC)
I made a search for Unix philosophy on WP to add links from articles towards this article, to find stuff in the line of this philosophy one may use what links here for the article. Rursus dixit. (mbork3!) 17:51, 21 March 2010 (UTC)