www.zorg.org
Search: 
 
  Home | Contact    
     
 
>
>
>
>
>
>
>
>

 

External Links
>
>
>
>

 

 
The UNIX Philosophy

Main Principles
  1. Small is beautiful. Small things could be combined with other small things to create unique and flexible systems. Downside: people could have troubles interfacing with small things.
  2. Make each program do one thing well. Focusing on a single functionality can eliminate much of unnnecessary code and promote flexibility.
  3. Build a prototype as soon as possible. It allows generation of efficient design.
  4. Portability is more important than efficiency. Portable programs have larger customer base and longer lifecycle.
  5. Store data in flat ASCII files. It keeps the data portable, data which is not portable is dead.
  6. Use software leverage to your advantage. Good programmers write good code, great programmers borrow good code.
  7. Shell scripts have an advantage over compiled programs. They are portable and leverage compiled programs.
  8. Avoid captive user interfaces. These interfaces need constant user input, thus locking the user or machine from doing anything else.
  9. Make every program a filter that operates on data.
Side Principles:
  1. Allow the user to customize the interface.
  2. Keep the system kernel small and lightweight.
  3. Use lower case and keep it short.
  4. Keep data in electronic format - save trees.
  5. Silence is golden - do not produce unnecessary output.
  6. Think parallel.
  7. Sum of parts is greater than the whole.
  8. Look and implement 90% of the solution.
  9. Worse is better, least common denominator is most likely to survive.
  10. Think hierarchically.
Source: M. Gancarz (1995) The UNIX Philosophy. Digital Press, Boston, MA.

 



"Is that finger loaded?"
- The Doctor in The Android Invasion

Valid HTML 4.01 Transitional Valid CSS!

© 1995-2008 Chantrell.net    All Rights Reserved.
Disclaimer   Privacy Statement