15
Linux Principles and Philosophy Fatma Rajab

Linux principles and philosophy

  • Upload
    fa6ma

  • View
    163

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Linux principles and philosophy

Linux Principles and Philosophy

Fatma Rajab

Page 2: Linux principles and philosophy
Page 3: Linux principles and philosophy

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

Page 4: Linux principles and philosophy

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.

Page 5: Linux principles and philosophy

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.

Page 6: Linux principles and philosophy

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.

Page 7: Linux principles and philosophy

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.

Page 8: Linux principles and philosophy

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.

Page 9: Linux principles and philosophy

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.

Page 10: Linux principles and philosophy
Page 11: Linux principles and philosophy
Page 12: Linux principles and philosophy
Page 13: Linux principles and philosophy

LINUX Computer Language

Page 14: Linux principles and philosophy
Page 15: Linux principles and philosophy

The End