Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unix philosophy and principles

unix philosophy and principles.

  • Login to see the comments

  • Be the first to like this

Unix philosophy and principles

  1. 1. Linux Philosophy and principles
  2. 2. Unix philosophy The Unix philosophy, originated by KenThompson, is a set of cultural norms and philosophical approaches to developing small software's.
  3. 3. Linux philosophy 1) Everything is a file. 2) Small, single-purpose programs. 3) Ability to chain programs together to perform complex tasks. 4) Avoid captive user interfaces. 5) Configuration data stored in text.
  4. 4. Everything is a file: UNIX systems have many powerful utilities designed to create and manipulate
  5. 5. Small, single purpose programs UNIX provides many small utilities that perform one task very well.
  6. 6. Chaining programs together A core design feature of UNIX is that the output of one program can be the input for another.
  7. 7. Avoid captive users interfaces: Interactive commands are rare in UNIX. Most commands expect their options and arguments to be typed on the
  8. 8. Configuration data stored in text. Text is a universal interface, and many UNIX utilities exist to
  9. 9. Origi n Doug McIlroy attributes the philosophy of combining "small, sharp tools "to accomplish larger tasks to KenThompson, one of the creators of Unix.
  10. 10. Unix programing environmentEven though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well.
  11. 11. Program design Much of the power of the UNIX operating system comes from a style of program design that makes programs easy to use and easy to combine with other programs.
  12. 12. Eric Raymond’s 17 Unix Rules  Rule of Modularity  Rule of Clarity  Rule of Composition  Rule of Separation  Rule of Simplicity  Rule of Parsimony  Rule ofTransparency  And more….
  13. 13. Rule of ModularityThis rule aims to save time on debugging code that is complex, long, and unreadable.
  14. 14. Rule of Clarity This rule aims to make code readable and comprehensible for whoever works on the code in future.
  15. 15. Rule of Compositio nThis rule aims to allow developers to break down projects into small, simple programs rather than overly complex monolithic programs.
  16. 16. Rule of Separation This rule aims to let policies be changed without destabilizing mechanisms and consequently reducing the number of bugs.
  17. 17. This rule aims to discourage developers’ affection for writing “intricate and beautiful complexities” that are in reality bug prone programs.
  18. 18. Rule of Parsimony This rule aims to prevent overinvestment of development time in failed or suboptimal approaches caused by the owners of the program’s reluctance to throw away visibly large pieces of work.
  19. 19. Rule of Transparency This rule aims to reduce debugging time and extend the lifespan of programs.
  20. 20. 03/linux-principles/