# HG changeset patch # User meillo@marmaro.de # Date 1266706483 -3600 # Node ID 018d5f9a2993f82f63cf058992f3165b9f22c233 # Parent b32a43a62cae88dfa53b65d76fd3e5dc1ac378b8 wrote about upgrowth and survival (ch03) diff -r b32a43a62cae -r 018d5f9a2993 unix-phil.ms --- a/unix-phil.ms Sat Feb 20 15:24:40 2010 +0100 +++ b/unix-phil.ms Sat Feb 20 23:54:43 2010 +0100 @@ -533,11 +533,47 @@ .SH Upgrowth and survival of software .LP +So far it was talked about \fIwriting\fP or \fIbuilding\fP software. +Although it is just a verb, it does imply a specific view on the work process +it describes. +The better verb, however, is to \fIgrow\fP. +.PP +Creating software in the sense of the Unix Philosophy is an incremental process. +It starts with a first prototype, which evolves as requirements change. +A quickly hacked shell script might become a large, sophisticated, +compiles program this way. +During its lifetime, it will get extended, rearranged, rebuilt (from scratch). +Growing software matches the view that ``software is never finished. It is only released.'' +.[ +FIXME +gancarz p.26 +.] +In this view, building a software is an evolutionary process; +it begins with the initial prototype and ends when the software is not used anymore. +.PP +Successful software is used by many for a long time. +This implies that the software is needed, useful, and better than alternatives. +Darwin talks about: ``The survival of the fittest.'' +.[ +FIXME +.] +Transferred to software: The most successful software, is the fittest, +is the one that survives. +The fitness is affected mainly by three properties: +.IP \(bu +portability of code +.IP \(bu +portability of data +.IP \(bu +range of usability +.IP \(bu +reuseability of parts +.LP +foo -portability - +.PP text files - +.PP reuse of independent parts