comparison unix-phil.ms @ 46:98a1446744c7

now concrete page numbers in ref markers
author meillo@marmaro.de
date Mon, 12 Apr 2010 10:52:59 +0200
parents ade392f024aa
children b6ae4a8ab1d3
comparison
equal deleted inserted replaced
45:ade392f024aa 46:98a1446744c7
370 Hence, the Unix Philosophy discourages programs to demand interactive use. 370 Hence, the Unix Philosophy discourages programs to demand interactive use.
371 The behavior of programs should be defined at invocation. 371 The behavior of programs should be defined at invocation.
372 This is done by specifying arguments to the program call 372 This is done by specifying arguments to the program call
373 (command line switches). 373 (command line switches).
374 Gancarz discusses this topic as ``avoid captive user interfaces''. 374 Gancarz discusses this topic as ``avoid captive user interfaces''.
375 .[ 375 .[ [
376 gancarz unix philosophy 376 gancarz unix philosophy
377 %P 88 ff. 377 .], page 88 ff.]
378 .]
379 .ds _p ", p. 88 ff.
380 .PP 378 .PP
381 Non-interactive use is, during development, also an advantage for testing. 379 Non-interactive use is, during development, also an advantage for testing.
382 Testing of interactive programs is much more complicated, 380 Testing of interactive programs is much more complicated,
383 than testing of non-interactive programs. 381 than testing of non-interactive programs.
384 382
590 A quickly hacked shell script might become a large, sophisticated, 588 A quickly hacked shell script might become a large, sophisticated,
591 compiled program this way. 589 compiled program this way.
592 Its lifetime begins with the initial prototype and ends when the software is not used anymore. 590 Its lifetime begins with the initial prototype and ends when the software is not used anymore.
593 While being alive it will get extended, rearranged, rebuilt. 591 While being alive it will get extended, rearranged, rebuilt.
594 Growing software matches the view that ``software is never finished. It is only released.'' 592 Growing software matches the view that ``software is never finished. It is only released.''
595 .[ 593 .[ [
596 gancarz 594 gancarz
597 unix philosophy 595 unix philosophy
598 %P 26 596 .], page 26]
599 .]
600 .PP 597 .PP
601 Software can be seen as being controlled by evolutionary processes. 598 Software can be seen as being controlled by evolutionary processes.
602 Successful software is software that is used by many for a long time. 599 Successful software is software that is used by many for a long time.
603 This implies that the software is needed, useful, and better than alternatives. 600 This implies that the software is needed, useful, and better than alternatives.
604 Darwin talks about: ``The survival of the fittest.'' 601 Darwin talks about: ``The survival of the fittest.''
735 .XE 732 .XE
736 .LP 733 .LP
737 Electronic mail was available in Unix very early. 734 Electronic mail was available in Unix very early.
738 The first \s-1MUA\s0 on Unix was \f(CWmail\fP, 735 The first \s-1MUA\s0 on Unix was \f(CWmail\fP,
739 which was already present in the First Edition. 736 which was already present in the First Edition.
740 .[ 737 .[ [
741 salus 738 salus
742 quarter century of unix 739 quarter century of unix
743 %P 41 f. 740 .], page 41 f.]
744 .]
745 It was a small program that either printed the user's mailbox file 741 It was a small program that either printed the user's mailbox file
746 or appended text to someone elses mailbox file, 742 or appended text to someone elses mailbox file,
747 depending on the command line arguments. 743 depending on the command line arguments.
748 .[ 744 .[
749 manual mail(1) 745 manual mail(1)
788 the requirements of modern emailing. 784 the requirements of modern emailing.
789 Today, nmh is developed by various people on the Internet. 785 Today, nmh is developed by various people on the Internet.
790 .[ 786 .[
791 ware 787 ware
792 rand history 788 rand history
793 %P 128-137
794 .] 789 .]
795 .[ 790 .[
796 peek 791 peek
797 mh 792 mh
798 .] 793 .]
934 and 929 and
935 .B "do one thing well 930 .B "do one thing well
936 are two design goals that are directly visible in \s-1MH\s0. 931 are two design goals that are directly visible in \s-1MH\s0.
937 Gancarz actually presents \s-1MH\s0 in his book as example under the 932 Gancarz actually presents \s-1MH\s0 in his book as example under the
938 headline ``Making \s-1UNIX\s0 Do One Thing Well'': 933 headline ``Making \s-1UNIX\s0 Do One Thing Well'':
939 .[ 934 .[ [
940 gancarz 935 gancarz
941 unix philosophy 936 unix philosophy
942 %P 125 937 .], page 125 ff.]
943 .]
944 .QP 938 .QP
945 [\s-1MH\s0] consists of a series of programs which 939 [\s-1MH\s0] consists of a series of programs which
946 when combined give the user an enormous ability 940 when combined give the user an enormous ability
947 to manipulate electronic mail messages. 941 to manipulate electronic mail messages.
948 A complex application, it shows that not only is it 942 A complex application, it shows that not only is it
1090 long time ago for \s-1MH\s0. 1084 long time ago for \s-1MH\s0.
1091 But without following this guideline at the very beginning, 1085 But without following this guideline at the very beginning,
1092 Bruce Borden may have not convinced the management of \s-1RAND\s0 1086 Bruce Borden may have not convinced the management of \s-1RAND\s0
1093 to ever create \s-1MH\s0. 1087 to ever create \s-1MH\s0.
1094 In Bruce' own words: 1088 In Bruce' own words:
1095 .[ 1089 .[ [
1096 ware rand history 1090 ware rand history
1097 %P 132 1091 .], page 132]
1098 .]
1099 .QP 1092 .QP
1100 [...] but [Stockton Gaines and Norm Shapiro] were not able 1093 [...] but [Stockton Gaines and Norm Shapiro] were not able
1101 to convince anyone that such a system would be fast enough to be usable. 1094 to convince anyone that such a system would be fast enough to be usable.
1102 I proposed a very short project to prove the basic concepts, 1095 I proposed a very short project to prove the basic concepts,
1103 and my management agreed. 1096 and my management agreed.