shamsa al mazrooei
TRANSCRIPT
![Page 1: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/1.jpg)
Linux Philosophy and principlesShamsa Al Mazrooei
10BG
![Page 2: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/2.jpg)
Unix philosophy The Unix philosophy originated by Ken Thompson, is a set of
cultural norms and philosophical approaches to developing small software's.
![Page 3: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/3.jpg)
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.
![Page 4: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/4.jpg)
Everything is a file:
UNIX systems have many powerful utilities designed to create and manipulate
![Page 5: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/5.jpg)
Small, single purpose programs UNIX provides many small utilities that perform one task very well.
![Page 6: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/6.jpg)
Chaining programs together
A core design feature of UNIX is that the output of one program can be the input for another.
![Page 7: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/7.jpg)
Avoid captive users interfaces: Interactive commands
are rare in UNIX. Most commands expect their options and arguments to be typed on the
![Page 8: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/8.jpg)
Configuration data stored in text Text is a universal interface, and
many UNIX utilities exist to manipulate.
![Page 9: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/9.jpg)
Origin Doug McIlroy
attributes the philosophy of combining "small, sharp tools "to accomplish larger tasks to Ken Thompson, one of the creators of Unix.
![Page 10: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/10.jpg)
Unix programming environment
Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well.
![Page 11: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/11.jpg)
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.
![Page 12: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/12.jpg)
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 of Transparency And more….
![Page 13: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/13.jpg)
Rule of Modularity
This rule aims to save time on debugging code that is complex, long, and unreadable.
![Page 14: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/14.jpg)
Rule of Clarity
This rule aims to make code readable and comprehensible for whoever works on the code in future.
![Page 15: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/15.jpg)
Rule of Composition
this rule aims to allow developers to break down projects into small, simple programs rather than overly complex monolithic programs.
![Page 16: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/16.jpg)
Rule of Separation
This rule aims to let policies be changed without destabilizing mechanisms and consequently reducing the number of bugs.
![Page 17: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/17.jpg)
The simplicity principle
This rule aims to discourage developers’ affection for writing “intricate and beautiful complexities” that are in reality bug prone programs.
![Page 18: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/18.jpg)
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.
![Page 19: Shamsa al mazrooei](https://reader031.vdocuments.site/reader031/viewer/2022022203/587299be1a28ab07208b45e9/html5/thumbnails/19.jpg)
Rule of Transparency
This rule aims to reduce debugging time and extend the lifespan of programs.