Mercurial > docs > unix-phil
comparison unix-phil.ms @ 1:9b555c009f19
further text in intro
author | meillo@marmaro.de |
---|---|
date | Fri, 05 Feb 2010 14:06:43 +0100 |
parents | cecef8bfa812 |
children | fbd7baf6a61f |
comparison
equal
deleted
inserted
replaced
0:cecef8bfa812 | 1:9b555c009f19 |
---|---|
1 .if n .pl 1000i | 1 .if n .pl 1000i |
2 .de XX | 2 .de XX |
3 .pl 1v | 3 .pl 1v |
4 .. | 4 .. |
5 .em XX | 5 .em XX |
6 .nr PI 0 | 6 .\".nr PI 0 |
7 .if t .nr PD .5v | 7 .\".if t .nr PD .5v |
8 .if n .nr PD 1v | 8 .\".if n .nr PD 1v |
9 .nr lu 0 | 9 .nr lu 0 |
10 .de CW | 10 .de CW |
11 .nr PQ \\n(.f | 11 .nr PQ \\n(.f |
12 .if t .ft CW | 12 .if t .ft CW |
13 .ie \\$1 .if n .ul 999 | 13 .ie \\$1 .if n .ul 999 |
17 .if n .if \\n(.$>1 \&\\$1\c | 17 .if n .if \\n(.$>1 \&\\$1\c |
18 .if n .if \\n(.$>1 \&\\$2 | 18 .if n .if \\n(.$>1 \&\\$2 |
19 .. | 19 .. |
20 .ds [. \ [ | 20 .ds [. \ [ |
21 .ds .] ] | 21 .ds .] ] |
22 .\"---------------------------------------- | |
22 .TL | 23 .TL |
23 Why the Unix Philosophy matters | 24 Why the Unix Philosophy matters |
24 .AU | 25 .AU |
25 markus schnalke <meillo@marmaro.de> | 26 markus schnalke <meillo@marmaro.de> |
26 .\" .AI | 27 .AI |
27 .\" .ce 0 | 28 .ce 0 |
28 .\" .fi | 29 University Ulm |
29 .\" Der Autor liebt Unix und dessen Skripting-Möglichkeiten. | |
30 .\" So auch den Shebang-Mechanismus der die Ausführung von Skripten deutlich erleichtert. | |
31 .AB | 30 .AB |
31 .ti \n(.iu | |
32 This term paper discusses the importance of the Unix Philosophy in software design. | 32 This term paper discusses the importance of the Unix Philosophy in software design. |
33 Today, few software designers are aware of these concepts, | 33 Today, few software designers are aware of these concepts, |
34 and thus most modern software is limited and does not use software leverage. | 34 and thus most modern software is limited and does not use software leverage. |
35 Knowing and following the tenets of the Unix Philosophy makes software more valuable. | 35 Knowing and following the tenets of the Unix Philosophy makes software more valuable. |
36 .AE | 36 .AE |
43 to the finished program. | 43 to the finished program. |
44 No matter \fIhow\fP the process is run, two things are common: | 44 No matter \fIhow\fP the process is run, two things are common: |
45 the initial idea and the release. | 45 the initial idea and the release. |
46 But the the process inbetween can be of any shape. | 46 But the the process inbetween can be of any shape. |
47 The time of release and the maintainance work after the release are ignored here, for the moment. | 47 The time of release and the maintainance work after the release are ignored here, for the moment. |
48 .LP | 48 .PP |
49 The process of building splits mainly in two parts: | 49 The process of building splits mainly in two parts: |
50 the planning of what and how to build, and implementing the plan by writing code. | 50 the planning of what and how to build, and implementing the plan by writing code. |
51 This paper focuses on the planning \(en the design \(en of software. | 51 This paper focuses on the planning \(en the design \(en of software. |
52 The here discussed ideas may be applied to any development process. | 52 The here discussed ideas may be applied to any development process. |
53 Though the Unix Philosphy does recommend how the software development process should look like, | 53 Though the Unix Philosphy does recommend how the software development process should look like, |
54 this shall not be of matter here. | 54 this shall not be of matter here. |
55 Similar, the question of how to write the code is out of focus. | 55 Similar, the question of how to write the code is out of focus. |
56 .LP | 56 .PP |
57 | 57 This paper discusses the connection between software design and the Unix Philosphy. |
58 | 58 Software design is the work between the requirements and the plan of how the internals and externals |
59 | 59 of the software should look like. |
60 | 60 However, the term ``Unix Philosophy'' was used but not explained yet. |
61 | 61 .PP |
62 .[ | 62 The Unix Philosophy is the essence of how the Unix operating system and its toolchest was designed. |
63 %O .CW http://en.wikipedia.org/wiki/Unix_philosophy | 63 It is no limited set of rules, but what people see what is common to typical Unix software. |
64 .] | 64 Several people stated their view on the Unix Philosophy. |
65 Best known are: | |
66 .IP \(bu | |
67 Doug McIlroy's summary: ``Write programs that do one thing and do it well.'' | |
68 .[ | |
69 %A M. D. McIlroy | |
70 %A E. N. Pinson | |
71 %A B. A. Taque | |
72 %T UNIX Time-Sharing System Forward | |
73 %J The Bell System Technical Journal | |
74 %D 1978 | |
75 %V 57 | |
76 %N 6 | |
77 %P 1902 | |
78 .] | |
79 .IP \(bu | |
80 Mike Gancarz' book ``The UNIX Philosophy''. | |
81 .[ | |
82 %A Mike Gancarz | |
83 %T The UNIX Philosophy | |
84 %D 1995 | |
85 %I Digital Press | |
86 .] | |
87 .IP \(bu | |
88 Eric S. Raymond's book ``The Art of UNIX Programming''. | |
89 .[ | |
90 %A Eric S. Raymond | |
91 %T The Art of UNIX Programming | |
92 %D 2003 | |
93 %I Addison-Wesley | |
94 %O .CW \s-2http://www.faqs.org/docs/artu/ | |
95 .] | |
96 .LP | |
97 These different views on the Unix Philosophy have much in common. | |
98 Especially, the main concepts are seen by all of them. | |
99 But there are also points on which they differ. | |
100 This only underlines what the Unix Philosophy is: | |
101 A retrospective view on the main concepts of Unix software; | |
102 especially those that were sucessful and unique to Unix. | |
103 .PP | |
104 Before we will have a look at concrete concepts, | |
105 we discuss why software design is important | |
106 and what problems bad design introduces. | |
107 | |
65 | 108 |
66 .NH 1 | 109 .NH 1 |
67 Importance of software design | 110 Importance of software design |
68 .LP | 111 .LP |
69 why design at all | 112 why design at all |