SlideShare a Scribd company logo
1 of 15
Linux Principles
and Philosophy
Fatma Rajab
Linux/Unix Philosophy
• I Linux provides a large set of simple tools...
• which can be connected with well specified interfaces...
• which are usually textual data streams.
• I No one big tool is smart enough to handle all cases or optimized for
• everything or can anticipate all the uses to which it may be put.
• I Its a big tool box, and a lumberyard full of lumber
• I We get a big say in what gets built and how its structured
Unix Philosophy
• The Unix philosophy, originated by Ken Thompson, is a set of cultural
norms and philosophical approaches to developing small yet
capable software based on the experience of leading developers of
the Unix operating system.
• Early Unix developers were important in bringing the concepts of
modularity and reusability into software engineering practice, spawning a
"software tools" movement.
The UNIX Programming Environment
• In their preface to the 1984 book, The UNIX Programming
Environment, Brian Kernighan and Rob Pike, both from Bell Labs,
give a brief description of the Unix design and the Unix philosophy.
• Even though the UNIX system introduces a number of innovative programs
and techniques, no single program or idea makes it work well. Instead, what
makes it effective is the approach to programming, a philosophy of using the
computer. Although that philosophy can't be written down in a single
sentence, at its heart is the idea that the power of a system comes more from
the relationships among programs than from the programs themselves.
Historical Context
• The Unix philosophy grew out of the original design goal of UNIX,
which was to create an operating system that was as simple and
efficient as possible. This goal was a reaction to what Thompson
correctly viewed as the unnecessary complexity of the operating
systems that were in use at that time. Such complexity was related to
the fact that there was no standard operating system that could be
used on a wide variety of computers; rather, each computer
manufacturer developed a separate operating system for its own
hardware.
•
Origin
• Doug McIlroy attributes the philosophy of combining "small, sharp
tools" to accomplish larger tasks to Ken Thompson, one of the
creators of Unix. The development of pipes formalized the existing
principle of stdin-stdout into a philosophy in Version 3 Unix, with
older software rewritten to comply.
Complete control
• Linux does not handhold. It assumes you know what
you are doing when you type a command and it
proceeds to execute that command without asking if
you really want to. It gives you complete control.
Enlightenment
• Over the years a number of people have attempted to enlighten the rest of us
when they codified various aspects of the Linux philosophy.
• Mike Gancarz first wrote The Unix Philosophy and then followed it up
with Linux and the Unix Philosophy. These books list 9 major tenets and 10
lesser tenets.
• Eric Raymond has 17 Unix rules in his book, The Art of Unix programming.
• And, Oregon State University has it's own Linux philosophy which I think
nicely depicts an engineer's view of Linux.
LINUX
Computer
Language
The End

More Related Content

Viewers also liked

Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Brian LeRoux
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture DevConFu
 
Bringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big DataBringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big Databcantrill
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Renato Groff
 
Writing Well-Behaved Unix Utilities
Writing Well-Behaved Unix UtilitiesWriting Well-Behaved Unix Utilities
Writing Well-Behaved Unix UtilitiesRob Miller
 
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...Micha Kops
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and BeyondMatt Stine
 
Mockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworksMockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworksEndranNL
 
Using Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed SystemsUsing Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed SystemsMatt Jacobs
 
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...Amazon Web Services
 
How we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.noHow we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.noHenning Spjelkavik
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecturetyrantbrian
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Phil Calçado
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Towards complex adaptive architectures
Towards complex adaptive architecturesTowards complex adaptive architectures
Towards complex adaptive architecturesUwe Friedrichsen
 
Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...Codemotion
 
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...Codemotion
 

Viewers also liked (20)

Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture
 
Bringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big DataBringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big Data
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
 
Unix Philosophy
Unix PhilosophyUnix Philosophy
Unix Philosophy
 
Writing Well-Behaved Unix Utilities
Writing Well-Behaved Unix UtilitiesWriting Well-Behaved Unix Utilities
Writing Well-Behaved Unix Utilities
 
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and Beyond
 
Mockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworksMockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworks
 
Using Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed SystemsUsing Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed Systems
 
Mocking
MockingMocking
Mocking
 
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
 
How we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.noHow we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.no
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Towards complex adaptive architectures
Towards complex adaptive architecturesTowards complex adaptive architectures
Towards complex adaptive architectures
 
Production-ready Software
Production-ready SoftwareProduction-ready Software
Production-ready Software
 
Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...
 
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
 

Similar to Linux principles and philosophy

1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...PAVAN KUMAR ILLA
 
Anthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu LinuxAnthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu LinuxAndreas Lloyd
 
Unix Design Philosophy
Unix Design PhilosophyUnix Design Philosophy
Unix Design PhilosophyAdil Sadik
 
Dennis m. ritchie
Dennis m. ritchieDennis m. ritchie
Dennis m. ritchie夏 永锋
 
How I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHow I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHelen Tabunshchyk
 
Basics you should know about UNIX and LINUX
Basics you should know about UNIX and LINUXBasics you should know about UNIX and LINUX
Basics you should know about UNIX and LINUXNemwos
 
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfEidTahir
 
Lecture1 100412095202-phpapp02
Lecture1 100412095202-phpapp02Lecture1 100412095202-phpapp02
Lecture1 100412095202-phpapp02Asma Meo
 
ppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATELppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATELneo_patel
 
Linux operating systems and Bootable Pendrive
Linux operating systems and Bootable PendriveLinux operating systems and Bootable Pendrive
Linux operating systems and Bootable PendriveAnkita Tiwari
 
Perspectives on Open
Perspectives on OpenPerspectives on Open
Perspectives on OpenTim O'Reilly
 

Similar to Linux principles and philosophy (20)

1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...
 
presentation on Unix basic by prince kumar kushwhaha
presentation on Unix basic by prince kumar kushwhahapresentation on Unix basic by prince kumar kushwhaha
presentation on Unix basic by prince kumar kushwhaha
 
Linux
Linux Linux
Linux
 
Anthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu LinuxAnthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu Linux
 
macOS a fetish object for the Bourgeois - macOS vs Unix
macOS a fetish object for the Bourgeois - macOS vs UnixmacOS a fetish object for the Bourgeois - macOS vs Unix
macOS a fetish object for the Bourgeois - macOS vs Unix
 
Unix Design Philosophy
Unix Design PhilosophyUnix Design Philosophy
Unix Design Philosophy
 
Dennis m. ritchie
Dennis m. ritchieDennis m. ritchie
Dennis m. ritchie
 
Unix.pptx
Unix.pptxUnix.pptx
Unix.pptx
 
How I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHow I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the Linux
 
Basics you should know about UNIX and LINUX
Basics you should know about UNIX and LINUXBasics you should know about UNIX and LINUX
Basics you should know about UNIX and LINUX
 
Unix ppt
Unix pptUnix ppt
Unix ppt
 
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
 
Lecture1 100412095202-phpapp02
Lecture1 100412095202-phpapp02Lecture1 100412095202-phpapp02
Lecture1 100412095202-phpapp02
 
ppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATELppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATEL
 
Linux operating systems and Bootable Pendrive
Linux operating systems and Bootable PendriveLinux operating systems and Bootable Pendrive
Linux operating systems and Bootable Pendrive
 
Ch1-Unix.pptx
Ch1-Unix.pptxCh1-Unix.pptx
Ch1-Unix.pptx
 
Perspectives on Open
Perspectives on OpenPerspectives on Open
Perspectives on Open
 
UNIX introduction
UNIX introductionUNIX introduction
UNIX introduction
 
what is linux?
what is linux?what is linux?
what is linux?
 
Why Unix?
Why Unix?Why Unix?
Why Unix?
 

Recently uploaded

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 

Recently uploaded (20)

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 

Linux principles and philosophy

  • 2.
  • 3. Linux/Unix Philosophy • I Linux provides a large set of simple tools... • which can be connected with well specified interfaces... • which are usually textual data streams. • I No one big tool is smart enough to handle all cases or optimized for • everything or can anticipate all the uses to which it may be put. • I Its a big tool box, and a lumberyard full of lumber • I We get a big say in what gets built and how its structured
  • 4. Unix Philosophy • The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to developing small yet capable software based on the experience of leading developers of the Unix operating system. • Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement.
  • 5. The UNIX Programming Environment • In their preface to the 1984 book, The UNIX Programming Environment, Brian Kernighan and Rob Pike, both from Bell Labs, give a brief description of the Unix design and the Unix philosophy. • Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.
  • 6. Historical Context • The Unix philosophy grew out of the original design goal of UNIX, which was to create an operating system that was as simple and efficient as possible. This goal was a reaction to what Thompson correctly viewed as the unnecessary complexity of the operating systems that were in use at that time. Such complexity was related to the fact that there was no standard operating system that could be used on a wide variety of computers; rather, each computer manufacturer developed a separate operating system for its own hardware. •
  • 7. Origin • Doug McIlroy attributes the philosophy of combining "small, sharp tools" to accomplish larger tasks to Ken Thompson, one of the creators of Unix. The development of pipes formalized the existing principle of stdin-stdout into a philosophy in Version 3 Unix, with older software rewritten to comply.
  • 8. Complete control • Linux does not handhold. It assumes you know what you are doing when you type a command and it proceeds to execute that command without asking if you really want to. It gives you complete control.
  • 9. Enlightenment • Over the years a number of people have attempted to enlighten the rest of us when they codified various aspects of the Linux philosophy. • Mike Gancarz first wrote The Unix Philosophy and then followed it up with Linux and the Unix Philosophy. These books list 9 major tenets and 10 lesser tenets. • Eric Raymond has 17 Unix rules in his book, The Art of Unix programming. • And, Oregon State University has it's own Linux philosophy which I think nicely depicts an engineer's view of Linux.
  • 10.
  • 11.
  • 12.
  • 14.