13 lines
725 B
Plaintext
13 lines
725 B
Plaintext
(i) Make each program do one thing well. To do a new job,
|
|
build afresh rather than complicate old programs by adding new features.
|
|
|
|
(ii) Expect the output of every program to become the input to another,
|
|
as yet unknown, program. Don't clutter output with extraneous information.
|
|
Avoid stringently columnar or binary input formats. Don't insist on interactive input.
|
|
|
|
(iii) Design and build software, even operating systems, to be tried early, ideally within weeks.
|
|
Don't hesitate to throw away the clumsy parts and rebuild them.
|
|
|
|
(iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour
|
|
to build the tools and expect to throw some of them out after you've finished using them.
|