diff --git a/unix b/unix new file mode 100644 index 0000000..bbcb4af --- /dev/null +++ b/unix @@ -0,0 +1,12 @@ +(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.