shsql: tenets of the unix philosophy

SQL database system
| Manual page for Tenets(of)

from The Unix Philosophy by Mike Gancarz.``
ISBN:1-555558-123-4. Copyright 1995 Butterworth-Heinemann.``
Reprinted with Permission of Digital Press

## 9 main tenets of the Unix philosophy

1. Small is beautiful.``

- Small programs are easy to understand.``
- Small programs are easy to maintain.``
- Small programs consume fewer system resources.``
- Small programs are easier to combine with other tools.``

2. Make each program do one thing well.``

- "The best program...does but one task in its life and does it well."
- "The program is loaded into memory, accomplishes its function, and then gets out of the way to allow the next single-minded program to begin."

3. Build a prototype as soon as possible.``

- Prototyping is a learning process.``
- Early prototyping reduces risk.``

4. Choose portability over efficiency.``

- Next ---'s hardware will run faster.``
- Don't spend too much time making a program run faster.``
- The most efficient way is rarely portable.``
- Good programs never die--they are ported to new hardware platforms.``

5. Store numerical data in flat ASCII files.``

- ASCII text is a common interchange format.``
- ASCII text is easily read and edited.``
- ASCII data files simplify the use of Unix text tools.``
- Increased portability overcomes the lack of speed (of flat ASCII text files...)
- The lack of speed is overcome by next year's machine.``

6. Use software leverage to your advantage.``

- Good programmers write good code; great programmers "borrow" good code.``
- Avoid the not-invented-here syndrome.``
- Allow other people to use your code to leverage their own work.
- Automate everything.``

7. Use shell scripts to increase leverage and portability.``

- Shell scripts give you awesome leverage
- Shell scripts leverage your time, too.``
- Shell scripts are more portable than C.``
- Resist the desire to rewrite shell scripts in C.``

8. Avoid captive user interfaces.``

- CUIs assume that the user is human.``
- CUI command parsers are often big and ugly to write.``
- CUIs tend to adopt a "big is beautiful" approach.
- Programs having CUIs are hard to combine with other programs.``
- CUIs do not scale well.``
- CUIs do not take advantage of software leverage.``

9. Make every program a filter.``

- Every program written since the dawn of computing is a filter.``
- Programs do not create data--people do.``
- Computers convert data from one form to another.``
- Use stdin for data input;
- Use stdout for data output;
- Use stderr for out-of-band information.``

## Ten Lesser Tenets

- Allow the User to tailor the environment.``
- Make operating system kernels small and lightweight.``
- Use lower case and keep it short.``
- Save Trees.``
- Silence is golden.``
- Think parallel.``
- The sum of the parts is greater than the whole.``
- Look for the 90 percent solution.``
- Worse is better. (I won't try to explain this one...)
- Think hierarchically.``
  Copyright Steve Grubb

Markup created by unroff 1.0, `` `` March 18, 2004.