What Is The UNIX Philosophy?

Linux is often said to be based on the UNIX philosophy. What exactly does that mean, and why should I care?
Basically, the UNIX philosophy is that one-size-fts-all doesn’t work when it comes to computer programs, and therefore, every program should be as small as possible - it should only do one thing, and do it [...]

By Jon

Linux is often said to be based on the UNIX philosophy. What exactly does that mean, and why should I care?

Basically, the UNIX philosophy is that one-size-fts-all doesn’t work when it comes to computer programs, and therefore, every program should be as small as possible - it should only do one thing, and do it as best as possible, and do nothing else. The reason this is called the UNIX philosophy is that UNIX is written specifically to support these types of programs - communication between these tools extremely easy under UNIX.

UNIX-like systems make it possible for anyone to take any number of these tools and chain them together themselves, or through a front-end, to do whatever needs to be done. What I need to get done with my computer is different than what you need to get done. UNIX-like systems do not attempt to anticipate every possible thing you or I might want to accomplish with our software. Instead, the goal of a UNIX-like program is to provide the means to accomplish one step in what we might want to do. How we arrange those pieces is entirely up to us, making for a very flexible and powerful experience.
The tools themselves are not expected to present a user-friendly interface; that is the job of a front end. Front ends under UNIX all basically strive to make the many, many tools that make up a UNIX-like system somewhat transparent to the user. If the front ends are well written, and make use of the plethora of tools behind them correctly, the end-user experience of interacting with these tools is seamless, and as easy (or in some cases easier) than under a different front-end.

Tags: , ,

RSS feed | Trackback URI

Comments »

No comments yet.

Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.

Trackback responses to this post

My Others...

Friends

Subscribe

JONTILLMAN.COM Posts RSS feed

Tag Cloud