| From: Niall O Broin <niall at linux.ie>
| Date: Thu, 17 Mar 2005 11:47:07 +0000
|
| On 16 Mar 2005, at 20:43, Brian Foster wrote:
| > I've never understood why BSD added `-R' to chown(1) [ ... ]
| > since find(1) [ existed ], the functionality was present [ ... ]
|
| The only answer to this is Neal Stephenson's classic essay about the
| Hole Hawg, which you can read at http://www.team.net/mjb/hawg.html .
| The 6th paragraph sums the matter up nicely IMO.
( I hope I have trimmed down my original e-mail to the part Niall
is commenting on — Niall quoted almost all of it, including
paragraphs which clearly do not apply to the referenced essay. )
the 6th paragraph can be summarised in several ways, including
(but perhaps not limited to):
• “tools are never badly designed. but you can still get hurt.”
the first part is clearly absurd.
I doubt it is what is meant.
• “use a professional power tool incorrectly and you can get hurt.”
agreed.
so, what _is_ the power tool here? `chmod -R'? or `find'?
my answer is the classic paper by Rob Pike and Brian W Kernighan,
“Cat -V Considered Harmful”, http://netlib.bell-labs.com/cm/cs/doc/
its conclusion:
“[ Unix ] is successful in part because it has a small number
of good ideas that work well together. Merely adding features
does not make it easier for users to do things — it just makes
the manual thicker. The right solution in the right place is
always more effective than haphazard hacking.”
in case it is not clear, I maintain `chmod -R' is a badly designed
tool, arguably produced by “haphazard hacking”, and `find' is the
power tool.
sláinte!
-blf-
p.s. what I found funny whilst using Google™ (where Pike now works,
b.t.w.) to verify the above is that whilst a number of Unix
cat(1) manual pages refer to the paper, neither the GNU manual
page nor `info cat' do.
--
Experienced (20+ yrs) kernel/software Eng: | Brian Foster Montpellier,
• Unix, embedded, &tc; • Linux; • doc; | blf at utvinternet.ie FRANCE
• IDL, automated testing, process, &tc. | Stop E$$o (ExxonMobile)!
Résumé (CV) http://www.blf.utvinternet.ie | http://www.stopesso.com
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!