Mercurial > docs > unix-phil
comparison unix-phil.ms @ 0:cecef8bfa812
early version, mainly the outline
author | meillo@marmaro.de |
---|---|
date | Fri, 05 Feb 2010 11:09:35 +0100 |
parents | |
children | 9b555c009f19 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:cecef8bfa812 |
---|---|
1 .if n .pl 1000i | |
2 .de XX | |
3 .pl 1v | |
4 .. | |
5 .em XX | |
6 .nr PI 0 | |
7 .if t .nr PD .5v | |
8 .if n .nr PD 1v | |
9 .nr lu 0 | |
10 .de CW | |
11 .nr PQ \\n(.f | |
12 .if t .ft CW | |
13 .ie \\$1 .if n .ul 999 | |
14 .el .if n .ul 1 | |
15 .if t .if !\\$1 \&\\$1\f\\n(PQ\\$2 | |
16 .if n .if \\n(.$=1 \&\\$1 | |
17 .if n .if \\n(.$>1 \&\\$1\c | |
18 .if n .if \\n(.$>1 \&\\$2 | |
19 .. | |
20 .ds [. \ [ | |
21 .ds .] ] | |
22 .TL | |
23 Why the Unix Philosophy matters | |
24 .AU | |
25 markus schnalke <meillo@marmaro.de> | |
26 .\" .AI | |
27 .\" .ce 0 | |
28 .\" .fi | |
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 | |
32 This term paper discusses the importance of the Unix Philosophy in software design. | |
33 Today, few software designers are aware of these concepts, | |
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. | |
36 .AE | |
37 | |
38 .2C | |
39 .NH 1 | |
40 Introduction | |
41 .LP | |
42 Building a software is a process from an idea of the purpose of the software | |
43 to the finished program. | |
44 No matter \fIhow\fP the process is run, two things are common: | |
45 the initial idea and the release. | |
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. | |
48 .LP | |
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. | |
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. | |
53 Though the Unix Philosphy does recommend how the software development process should look like, | |
54 this shall not be of matter here. | |
55 Similar, the question of how to write the code is out of focus. | |
56 .LP | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 .[ | |
63 %O .CW http://en.wikipedia.org/wiki/Unix_philosophy | |
64 .] | |
65 | |
66 .NH 1 | |
67 Importance of software design | |
68 .LP | |
69 why design at all | |
70 | |
71 - for dev mainly: extendability and maintainability | |
72 | |
73 - for users: usability and flexibility (but you need to learn how to use it) | |
74 | |
75 no design and bad design limit the use of software | |
76 | |
77 .NH 2 | |
78 Architecture | |
79 .LP | |
80 the most important design decision. | |
81 | |
82 the topic here | |
83 | |
84 .NH 1 | |
85 The Unix Philosophy | |
86 | |
87 .NH 2 | |
88 what it is | |
89 .LP | |
90 definitions by McIlroy, Gancarz, ESR (maybe already in the intro) | |
91 .LP | |
92 cf. unix tool chain | |
93 .LP | |
94 enabler pipe | |
95 | |
96 .NH 2 | |
97 Interface architecture | |
98 .LP | |
99 standalone vs. tool chain | |
100 .LP | |
101 software leverage | |
102 .LP | |
103 possiblities | |
104 | |
105 .NH 2 | |
106 Results | |
107 .LP | |
108 The unix phil is an answer to the sw design question | |
109 .LP | |
110 tool chains empower the uses of sw | |
111 | |
112 .NH 1 | |
113 Case study: nmh | |
114 | |
115 .NH 2 | |
116 History | |
117 .LP | |
118 MH, nmh. | |
119 They are old. | |
120 | |
121 .NH 2 | |
122 Contrasts to similar sw | |
123 .LP | |
124 vs. Thunderbird, mutt, mailx, pine | |
125 .LP | |
126 flexibility, no redundancy, use the shell | |
127 | |
128 .NH 2 | |
129 Gains of the design | |
130 .LP | |
131 | |
132 .NH 2 | |
133 Problems | |
134 .LP | |
135 | |
136 .NH 1 | |
137 Case study: uzbl | |
138 | |
139 .NH 2 | |
140 History | |
141 .LP | |
142 uzbl is young | |
143 | |
144 .NH 2 | |
145 Contrasts to similar sw | |
146 .LP | |
147 like with nmh | |
148 .LP | |
149 addons, plugins, modules | |
150 | |
151 .NH 2 | |
152 Gains of the design | |
153 .LP | |
154 | |
155 .NH 2 | |
156 Problems | |
157 .LP | |
158 broken web | |
159 | |
160 .NH 1 | |
161 Final thoughts | |
162 | |
163 .NH 2 | |
164 Quick summary | |
165 .LP | |
166 good design | |
167 .LP | |
168 unix phil | |
169 .LP | |
170 case studies | |
171 | |
172 .NH 2 | |
173 Why people should choose | |
174 .LP | |
175 Make the right choice! | |
176 | |
177 .nr PI .5i | |
178 .rm ]< | |
179 .de ]< | |
180 .LP | |
181 .de FP | |
182 .IP \\\\$1. | |
183 \\.. | |
184 .rm FS FE | |
185 .. | |
186 .SH | |
187 References | |
188 .[ | |
189 $LIST$ | |
190 .] | |
191 .wh -1p |