comparison unix-phil.ms @ 15:00e306ee903b

reformated content (ch03)
author meillo@marmaro.de
date Sun, 21 Feb 2010 17:33:23 +0100
parents 59305c854751
children f89ca78f289e
comparison
equal deleted inserted replaced
14:59305c854751 15:00e306ee903b
559 .] 559 .]
560 Transferred to software: The most successful software, is the fittest, 560 Transferred to software: The most successful software, is the fittest,
561 is the one that survives. 561 is the one that survives.
562 (This may be at the level of one creature, or at the level of one species.) 562 (This may be at the level of one creature, or at the level of one species.)
563 The fitness of software is affected mainly by four properties: 563 The fitness of software is affected mainly by four properties:
564 .IP \(bu 564 portability of code, portability of data, range of usability, and reusability of parts.
565 portability of code 565 .\" .IP \(bu
566 .IP \(bu 566 .\" portability of code
567 portability of data 567 .\" .IP \(bu
568 .IP \(bu 568 .\" portability of data
569 range of usability 569 .\" .IP \(bu
570 .IP \(bu 570 .\" range of usability
571 reuseability of parts 571 .\" .IP \(bu
572 .PP 572 .\" reuseability of parts
573 Portability of code means, using high-level programming languages, 573 .PP
574 (1)
575 .I "Portability of code
576 means, using high-level programming languages,
574 sticking to the standard, 577 sticking to the standard,
575 and avoiding optimizations that introduce dependencies on specific hardware. 578 and avoiding optimizations that introduce dependencies on specific hardware.
576 Hardware has a much lower lifetime than software. 579 Hardware has a much lower lifetime than software.
577 By chaining software to a specific hardware, 580 By chaining software to a specific hardware,
578 the software's lifetime gets shortened to that of this hardware. 581 the software's lifetime gets shortened to that of this hardware.
579 In contrast, software should be easy to port \(en 582 In contrast, software should be easy to port \(en
580 adaption is the key to success. 583 adaption is the key to success.
581 .\" cf. practice of prog: ch08 584 .\" cf. practice of prog: ch08
582 .PP 585 .PP
583 Portability of data is best achieved by avoiding binary representations 586 (2)
587 .I "Portability of data
588 is best achieved by avoiding binary representations
584 to store data, because binary representations differ from machine to machine. 589 to store data, because binary representations differ from machine to machine.
585 Textual represenation is favored. 590 Textual represenation is favored.
586 Historically, ASCII was the charset of choice. 591 Historically, ASCII was the charset of choice.
587 In the future, UTF-8 might be the better choice, however. 592 In the future, UTF-8 might be the better choice, however.
588 Important is that it is a plain text representation in a 593 Important is that it is a plain text representation in a
590 Apart from being able to transfer data between machines, 595 Apart from being able to transfer data between machines,
591 readable data has the great advantage, that humans are able 596 readable data has the great advantage, that humans are able
592 to directly edit it with text editors and other tools from the Unix toolchest. 597 to directly edit it with text editors and other tools from the Unix toolchest.
593 .\" gancarz tenet 5 598 .\" gancarz tenet 5
594 .PP 599 .PP
595 A large range of usability ensures good adaption, and thus good survival. 600 (3)
601 A large
602 .I "range of usability
603 ensures good adaption, and thus good survival.
596 It is a special distinction if a software becomes used in fields of action, 604 It is a special distinction if a software becomes used in fields of action,
597 the original authors did never imagine. 605 the original authors did never imagine.
598 Software that solves problems in a general way will likely be used 606 Software that solves problems in a general way will likely be used
599 for all kinds of similar problems. 607 for all kinds of similar problems.
600 Being too specific limits the range of uses. 608 Being too specific limits the range of uses.
613 Third, the sendmail configuration file was flexible enough to adopt 621 Third, the sendmail configuration file was flexible enough to adopt
614 to a rapidly changing world [...]. 622 to a rapidly changing world [...].
615 .LP 623 .LP
616 Successful software adopts itself to the changing world. 624 Successful software adopts itself to the changing world.
617 .PP 625 .PP
618 Reuse of parts is even one step further. 626 (4)
627 .I "Reuse of parts
628 is even one step further.
619 A software may completely lose its field of action, 629 A software may completely lose its field of action,
620 but parts of which the software is build may be general and independent enough 630 but parts of which the software is build may be general and independent enough
621 to survive this death. 631 to survive this death.
622 If software is build by combining small independent programs, 632 If software is build by combining small independent programs,
623 then there are parts readily available for reuse. 633 then there are parts readily available for reuse.