Mercurial > docs > unix-phil
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. |