docs/unix-phil

changeset 1:9b555c009f19

further text in intro
author meillo@marmaro.de
date Fri, 05 Feb 2010 14:06:43 +0100
parents cecef8bfa812
children fbd7baf6a61f
files unix-phil.ms
diffstat 1 files changed, 59 insertions(+), 16 deletions(-) [+]
line diff
     1.1 --- a/unix-phil.ms	Fri Feb 05 11:09:35 2010 +0100
     1.2 +++ b/unix-phil.ms	Fri Feb 05 14:06:43 2010 +0100
     1.3 @@ -3,9 +3,9 @@
     1.4  .pl 1v
     1.5  ..
     1.6  .em XX
     1.7 -.nr PI 0
     1.8 -.if t .nr PD .5v
     1.9 -.if n .nr PD 1v
    1.10 +.\".nr PI 0
    1.11 +.\".if t .nr PD .5v
    1.12 +.\".if n .nr PD 1v
    1.13  .nr lu 0
    1.14  .de CW
    1.15  .nr PQ \\n(.f
    1.16 @@ -19,16 +19,16 @@
    1.17  ..
    1.18  .ds [. \ [
    1.19  .ds .] ]
    1.20 +.\"----------------------------------------
    1.21  .TL
    1.22  Why the Unix Philosophy matters
    1.23  .AU
    1.24  markus schnalke <meillo@marmaro.de>
    1.25 -.\" .AI
    1.26 -.\" .ce 0
    1.27 -.\" .fi
    1.28 -.\" Der Autor liebt Unix und dessen Skripting-Möglichkeiten.
    1.29 -.\" So auch den Shebang-Mechanismus der die Ausführung von Skripten deutlich erleichtert.
    1.30 +.AI
    1.31 +.ce 0
    1.32 +University Ulm
    1.33  .AB
    1.34 +.ti \n(.iu
    1.35  This term paper discusses the importance of the Unix Philosophy in software design.
    1.36  Today, few software designers are aware of these concepts,
    1.37  and thus most modern software is limited and does not use software leverage.
    1.38 @@ -45,7 +45,7 @@
    1.39  the initial idea and the release.
    1.40  But the the process inbetween can be of any shape.
    1.41  The time of release and the maintainance work after the release are ignored here, for the moment.
    1.42 -.LP
    1.43 +.PP
    1.44  The process of building splits mainly in two parts:
    1.45  the planning of what and how to build, and implementing the plan by writing code.
    1.46  This paper focuses on the planning \(en the design \(en of software.
    1.47 @@ -53,16 +53,59 @@
    1.48  Though the Unix Philosphy does recommend how the software development process should look like,
    1.49  this shall not be of matter here.
    1.50  Similar, the question of how to write the code is out of focus.
    1.51 +.PP
    1.52 +This paper discusses the connection between software design and the Unix Philosphy.
    1.53 +Software design is the work between the requirements and the plan of how the internals and externals
    1.54 +of the software should look like.
    1.55 +However, the term ``Unix Philosophy'' was used but not explained yet.
    1.56 +.PP
    1.57 +The Unix Philosophy is the essence of how the Unix operating system and its toolchest was designed.
    1.58 +It is no limited set of rules, but what people see what is common to typical Unix software.
    1.59 +Several people stated their view on the Unix Philosophy.
    1.60 +Best known are:
    1.61 +.IP \(bu
    1.62 +Doug McIlroy's summary: ``Write programs that do one thing and do it well.''
    1.63 +.[
    1.64 +%A M. D. McIlroy
    1.65 +%A E. N. Pinson
    1.66 +%A B. A. Taque
    1.67 +%T UNIX Time-Sharing System Forward
    1.68 +%J The Bell System Technical Journal
    1.69 +%D 1978
    1.70 +%V 57
    1.71 +%N 6
    1.72 +%P 1902
    1.73 +.]
    1.74 +.IP \(bu
    1.75 +Mike Gancarz' book ``The UNIX Philosophy''.
    1.76 +.[
    1.77 +%A Mike Gancarz
    1.78 +%T The UNIX Philosophy
    1.79 +%D 1995
    1.80 +%I Digital Press
    1.81 +.]
    1.82 +.IP \(bu
    1.83 +Eric S. Raymond's book ``The Art of UNIX Programming''.
    1.84 +.[
    1.85 +%A Eric S. Raymond
    1.86 +%T The Art of UNIX Programming
    1.87 +%D 2003
    1.88 +%I Addison-Wesley
    1.89 +%O .CW \s-2http://www.faqs.org/docs/artu/
    1.90 +.]
    1.91  .LP
    1.92 +These different views on the Unix Philosophy have much in common.
    1.93 +Especially, the main concepts are seen by all of them.
    1.94 +But there are also points on which they differ.
    1.95 +This only underlines what the Unix Philosophy is:
    1.96 +A retrospective view on the main concepts of Unix software;
    1.97 +especially those that were sucessful and unique to Unix.
    1.98 +.PP
    1.99 +Before we will have a look at concrete concepts,
   1.100 +we discuss why software design is important
   1.101 +and what problems bad design introduces.
   1.102  
   1.103  
   1.104 -
   1.105 -
   1.106 -
   1.107 -.[
   1.108 -%O .CW http://en.wikipedia.org/wiki/Unix_philosophy
   1.109 -.]
   1.110 -
   1.111  .NH 1
   1.112  Importance of software design
   1.113  .LP