Comments
Matt McLarty wrote: For more info... Follow me on Twitter See our website
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
The Art of UNIX Programming
The history, culture, and philosophy behind UNIX development

"Those who do not understand UNIX are doomed to reinvent it, poorly."

– Henry Spencer, Usenet signature, November 1987

So begins the first chapter of Eric Raymond's newest book, The Art of UNIX Programming. In the pages that follow Eric does his best to make sure readers do understand UNIX by bringing them along on a journey beginning in the earliest days of "timesharing" systems in the 1960s and continuing right up to today. Along the way, readers meet (via their review comments inserted into the book) such UNIX luminaries as Ken Thompson (original inventor of UNIX while at AT&T Bell Labs), David Korn (who wrote the Korn shell), Brian Kernighan (Author of the classic book The C Programming Language), and a number of others. The Art of UNIX Programming is a seminal work from one of the masters in the field.

Eric strives to achieve two equally important goals with this book. First, he attempts to teach the reader the "art" of developing applications using UNIX. To accomplish this he provides a great number of examples, design patterns, case studies, and "rules of thumb" that the reader can use to understand what essentially is a series of best practices for application development and architecture using UNIX.

Second, and potentially more valuable, Eric does his best to instill in the reader an understanding of the culture and history of UNIX and of the "Hacker Culture" that grew up around it. He provides quotes and anecdotes from many of the pioneers behind UNIX, a chapter dedicated directly to UNIX philosophy and culture, and a series of parables, or koans, in the form of lessons from a Zen Master Foo to an aspiring student.

Some of the design "rules" that Eric provides are:

  • Rule of Clarity: Clarity is better than cleverness
  • Rule of Modularity: Write simple parts connected by clean interfaces
  • Rule of Composition: Design programs to be connected with other programs

    While simple ideas, taken together they will teach developers to program in a way that will allow them to become most successful using UNIX. These ideas will also make UNIX administrators more effective by helping them understand why the programs they use work the way they do.

    But why does the world need a book that outlines and teaches the history, culture, and philosophy behind UNIX development? To begin with, we need it because many of the original UNIX pioneers are getting to the point of retiring now. Much of the lore behind the early development of UNIX and how it came to be is an oral (and Usenet-based) history; if no one writes it down in a single place, much of it will simply be lost.

    Also, with the explosion of Linux, there are now many more developers using UNIX than there ever were before. It's important to the community in existence now that we pass these stories and the culture and values we've created to this new generation.

    It also takes developers a long time to learn all this if they have to learn it on their own. I spent close to five years as a C/UNIX developer and can tell you having this book would've helped me understand how to become more effective much faster.

    But even more important is understanding this culture and its impact on the history (and future) of Linux. As Linux becomes more and more popular and its worldwide economic impact grows, the pressures on it to become controlled and directed by major corporations will grow as well. The only thing that will ensure its independence, and potentially its survival, will be the community around it. The culture and philosophy outlined in this book can help tie the community together and strengthen it.

    After all, what is a community except a group of individuals united by a common purpose and sharing a common culture, philosophy, and values?

  • About Kevin Bedell
    Kevin Bedell, one of the founding editors of Linux.SYS-CON.com, writes and speaks frequently on Linux and open source. He is the director of consulting and training for Black Duck Software.

    In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 1

    I think the preference to code it yourself vs. uunderstand and use other's code is pretty widespread. I have have been an applications programmer for years and I have to admit that many times I have found it easier (and faster) to arrive at a solution to a problem by writing my own routines rather than step through someone elses work. Also, psychologically, I think programmers get more satisfaction coming up with their own solutions. I think programmers tend to be strong individualists who get their sense of self-worth from actively creating things. There is less glory in spending a lot of time trying to make sense of someone elses work. Programmers love to code. There is also an egotistical element at work which tends to trivialize others work or voice doubts as to its effciency or correctness. "I can do better than that..." is the mentality. This is a positive attitude when it leads to real improvements, but in many cases is probably just "vanity".


    Your Feedback
    Rick Burque wrote: I think the preference to code it yourself vs. uunderstand and use other's code is pretty widespread. I have have been an applications programmer for years and I have to admit that many times I have found it easier (and faster) to arrive at a solution to a problem by writing my own routines rather than step through someone elses work. Also, psychologically, I think programmers get more satisfaction coming up with their own solutions. I think programmers tend to be strong individualists who get their sense of self-worth from actively creating things. There is less glory in spending a lot of time trying to make sense of someone elses work. Programmers love to code. There is also an egotistical element at work which tends to trivialize others work or voice doubts as to its effciency or correctness. "I can do better than that..." is the mentality. This is a positive attitude when it lead...
    SOA World Latest Stories
    Facebook sold off again Tuesday scrapping the bottom at $30.98 after Reuters reported that Scott Devitt, a research analyst at the IPO’s lead underwriter Morgan Stanley, unexpectedly cut his revenue estimates on the company during the roadshow leading up to it going public last Friday....
    As a Silver Sponsor of Cloud Expo New York, CloudPassage is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. CloudPassage is the leading cloud server security provider, and c...
    Private clouds solve many problems for enterprises and bring unique operational challenges along with them. There are dozens of companies of all sizes that will build you a private cloud and turn over the keys – then what? Trying to convert a traditional enterprise IT operations team t...
    Cloud computing is becoming an integral part of every enterprise IT environment. With multiple cloud deployment models to choose from, understanding the essential components to any cloud solution will help ensure your success. In his session at the 10th International Cloud Expo, Ores...
    The International Trade Commission’s six-member board of commissioners has issued an import ban against Motorola Mobility’s Android gear that the agency’s administrative law judge found in December infringes Microsoft’s patent on “generating meeting requests and group scheduling from a...
    As a Platinum Sponsor of Cloud Expo New York, Intel is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. Intel is a world leader in computing innovation. The company designs a...
    Subscribe to the World's Most Powerful Newsletters
    Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


    SYS-CON Featured Whitepapers
    ADS BY GOOGLE