[colug-432] Basics of the Unix Philosophy

Stephen Potter spp at unixsa.net
Tue Jun 16 12:34:45 EDT 2015

Many years ago (back when it was new in '94-95), I picked up Mike 
Gancarz "The Unix Philosophy" 
(http://www.amazon.com/UNIX-Philosophy-Mike-Gancarz/dp/1555581234). I 
thought it was a great read that went along quite well with the classic 
Kernigan/Pike and Sobell books.  I see he updated it in 2003 to catch 
the Linux wave 

Gancarz broke down the philosophy in 9 tenets:
1. Small is beautiful.
2. Make each program do one thing well.
3. Build a prototype as soon as possible.
4. Choose portability over efficiency.
5. Store data in flat text files.
6. Use software leverage to your advantage.
7. Use shell scripts to increase leverage and portability.
8. Avoid captive user interfaces.
9. Make every program a filter.

It is enlightening to see him take a program like "ls" and show how 20 
years ago it had already broken some of the philosophy.


On 6/16/2015 11:07 AM, Rick Hornsby wrote:
> Came across the "Basics of the Unix Philosophy" linked in one of the puppet docs Scott posted a few days ago.  What I'm finding so fascinating is that while I've never seen this document before, I can see how these ideas still heavily influence and guide us today, nearly 40 years later.  I've learned much of this just through experience and observing UNIX's elegant design patterns.
> I've said many of these things to my green system engineers who are just starting to get into Linux and writing their first shell scripts.  I tend to emphasize something along these lines when starting to explain pipes, redirects, etc.
> "This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."
> http://www.faqs.org/docs/artu/ch01s06.html
> _______________________________________________
> colug-432 mailing list
> colug-432 at colug.net
> http://lists.colug.net/mailman/listinfo/colug-432

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.colug.net/pipermail/colug-432/attachments/20150616/a072196d/attachment.html 

More information about the colug-432 mailing list