Book Review:
Amazon.com Unix ranks among the great engineering accomplishments of the last half of the twentieth century, and its heir--Linux--seems already imposing and still on its way to achieving its full potential. Eric S. Raymond argues in The Art of UNIX Programming that the excellence of Unix derives as much from the fact that it was (and continues to be) a community effort as from the fact that a lot of smart people have worked to design and build it. Raymond, best known as the author of the open-source manifesto The Cathedral and the Bazaar, says in his preface that this is a "why-to" book, rather than a "how-to" book. It aims to show new Unix programmers why they should work under the old "hacker ethic"--embracing the principles of good software design for its own sake and of code-sharing.
That said, a great deal of valuable practical information appears in this book. Very little of it is in the form of code; most of the practical material takes the form of case studies and discussions of aspects of Unix, all aimed at determining why particular design characteristics are good. In many cases, the people who did the work in the first place make guest appearances and explain their thinking--an invaluable resource. This book is for the deep-thinking software developer in Unix (and perhaps Linux in particular). It shows how to fit into the long and noble tradition, and how to make the software work right. --David Wall
Topics covered: Why Unix (the term being defined to include Linux) is the way it is, and the people who made it that way. Commentary from Ken Thompson, Steve Johnson, Brian Kernighan, and David Korn enables readers to understand the thought processes of the creators of Unix.
From the Back Cover
"Reading this book has filled a gap in my education. I feel a sense of completion, understand that UNIX is really a style of community. Now I get it, at least I get it one level deeper than I ever did before. This book came at a perfect moment for me, a moment when I shifted from visualizing programs as things to programs as the shadows cast by communities. From this perspective, Eric makes UNIX make perfect sense." --Kent Beck, author of Extreme Programming Explained, Test Driven Development, and Contributing to Eclipse
"A delightful, fascinating read, and the lessons in problem-solvng are essential to every programmer, on any OS." --Bruce Eckel, author of Thinking in Java and Thinking in C++
Writing better software: 30 years of UNIX development wisdom
In this book, five years in the making, the author encapsulates three decades of unwritten, hard-won software engineering wisdom. Raymond brings together for the first time the philosophy, design patterns, tools, culture, and traditions that make UNIX home to the world's best and most innovative software, and shows how these are carried forward in Linux and today's open-source movement. Using examples from leading open-source projects, he shows UNIX and Linux programmers how to apply this wisdom in building software that's more elegant, more portable, more reusable, and longer-lived. Raymond incorporates commentary from thirteen UNIX pioneers:
- Ken Thompson, the inventor of UNIX.
- Ken Arnold, part of the group that created the 4BSD UNIX releases and co-author of The Java Programming Language.
- Steven M. Bellovin, co-creator of Usenet and co-author of Firewalls and Internet Security.
- Stuart Feldman, a member of the Bell Labs UNIX development group and the author of make and f77.
- Jim Gettys and Keith Packard, principal architects of the X windowing system.
- Steve Johnson, author of yacc and of the Portable C Compiler.
- Brian Kernighan, co-author of The C Programming Language, The UNIX Programming Environment, The Practice of Programming, and of the awk programming language.
- David Korn, creator of the korn shell and author of The New Korn Shell Command and Programming Language.
- Mike Lesk, a member of the Bell Labs development group and author of the ms macro package, the tbl and refer tools,lex and UUCP.
- Doug McIlroy, Director of the Bell Labs research group where UNIX was born and inventor of the UNIX pipe.
- Marshall Kirk McKusick, developer of the 4.2BSD fast filesystem and a leader of the 4.3BSD and 4.4BSD teams.
- Henry Spencer, a leader among early UNIX developers, who created getopt, the first open-source string library, and a regular-expression engine used in 4.4BSD.
add to del.icio.us
Digg Freebookzone.com!
You may use anyone of the download options
Missing Link?, Report It and try these 2 + 1 alternates...

Similar Book titles in OS Theory section: Programming the Be Operating System Spring Concepts, Internals Architecture and Programming HOPE: A Programming Model for Optimism
Similar Book titles in Other sections:
Section: CS -> Compilers and Languages Programming Languages: Application and Interpretation Functional Programming and Parallel Graph Rewriting Programming in Martin-Lof's Type Theory Advanced Programming Language Design Programming from Specifications, Second Edition Show all..
Section: Data Structures and Algorithms Concepts, Techniques, and Models of Computer Programming Patterns for Adaptive Programming (AP) Art of Programming Contest
Section: Multimedia & Game Development Flash MX 2004 Games: Art to ActionScript Programming The Nintendo Game Boy Advance: The Unofficial Guide
Section: CS -> Theory Partial Evaluation and Automatic Program Generation Type Theory and Functional Programming Applicative Programming and Specification
Section: DB -> DB / 2 Administration Getting Started IBM DB2 Universal Database for UNIX Getting Started on Integrating Your Information Road Map to DB2 Programming IBM DB2 Building Applications for UNIX Environments Show all..
Section: DB -> Oracle Working with Oracle Cartridges Oracle Programming with Visual Basic Oracle PL/SQL Programming, 2nd Edition Oracle PL/SQL Programming: Guide to Oracle8i Features Advanced Oracle PL/SQL Programming with Packages (Nutshell Handbook) Show all..
Section: DB -> Others Database Programming with Perl Getting Started with JDBC API Getting Started with OLE DB Programming the Perl DBI Teach Yourself Database Programming with Visual C++ 6 in 21 Day Show all..
Section: DB -> Postgre SQL Practical PostgreSQL (O'Reilly Unix)
Section: DB -> SQL Embedded SQL Programming Guide
Section: DB -> SQL Server SQL Server 2005 Stored Procedure Programming in T-SQL & .NET
Section: Computer Hardware Computer Repair with Diagnostic Flowcharts
Section: Device Drivers Streams Programming Guide
Section: Microprocessor Assembly Language Programming Tools for the IA-64 Architecture IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming Guide Programming PIC Microcontroller in C (CC5X compiler) Programming PIC Microcontrollers in BASIC 8080A-8085 Assembly Language Programming Show all..
Section: Peripherals Programming guide and sample code for RTL8139 family Serial Port Programming Information ZIP SoundBlaster Programming Information v0.90
Section: Internet The Art of Electronic Publishing: The Internet and Beyond UNIX Unleashed, Internet Edition Zen and the Art of the Internet Practical UNIX & Internet Security
Section: Advanced Java Principles of Object-Oriented Programming in Java Tricks of Java Programming Gurus Practical Artificial Intelligence Programming in Java Concurrent Programming Using Java
Section: Java Enterprise Edition Programming Jakarta Struts Programming Jakarta Struts, 2nd Edition
Section: Java User Interface Programming User Interfaces with JFC Teach Yourself Internet Game Programming With Java in 21 Days
Section: Java Language Code Conventions for the Java Programming Language Essentials of the Java Programming Language, Part 1 Essentials of the Java Programming Language, Part 2 Peter Norton's Guide to Java Programming Teach Yourself Java 1.1 Programming in 24 Hours Show all..
Section: Java Networking Web Programming with Java Java Thin Client Programming Getting Started with JDBC API
Section: Java Tools Java Programming Guide for OS/390 IMS Version 7 and Java Application Programming
Section: Life & Health Smart Guide to Yoga Intuitive Sex The Subtle Art of No Pressure Seduction The Filipino Fighting / Martial Arts: Theory and Practice
Section: Mathematics Programming for Engineers with Mathematica An Introduction to Linear Programming and the Simplex Algorithm
Section: Miscellaneous Artificial Intelligence through Prolog The Art of Computer Game Design Artificial Intelligence II Michael Abrash's Graphics Programming Black Book Microsoft RPC Programming Guide Show all..
Section: Sales, Marketing & Trading Marketing Straight to the Heart
Section: Microsoft Certifications Programming Desktop Applications With MS Visual Basic6 MCSD training kit
Section: Microsoft C Sharp (C#) C# COM+ Programming C Sharp Network Programming Getting started with C# Programming C# (2nd Edition) Mastering Windows 2000 Programming with Visual C++ Show all..
Section: Microsoft COM/DCOM/ActiveX/ATL ActiveX Programming Unleashed Activex Programming With Visual C++ 5 Programming Distributed Applications With COM And Microsoft Visual Basic 6.0 Teach Yourself Activex Programming in 21 Days Programming ADO Show all..
Section: Microsoft .(dot) net Applied Microsoft .Net Framework Programming Programming Microsoft.NET Web Programming with Visual J++ Mono Kick Start
Section: Office Development Programming Microsoft Visual Interdev 6 Programming Microsoft Office 2000 Web Components Programming Microsoft Outlook and Microsoft Exchange
Section: Microsoft Visual Basic Programming Microsoft Visual Basic 6 Web Programming with Visual Basic COM+ Programming with Visual Basic Programming VB .NET: A Guide for Experienced Programmers
Section: Microsoft Visual C++ Programming Visual C++, 5th Edition Teach Yourself Database Programming with VC++ 6 in 21 Days Programming Windows with MFC Mastering Windows 2000 Programming with Visual C++
Section: MS Web Technologies Programming Microsoft Internet Explorer 5 Programming Active Server Pages
Section: Windows Development Programming the Microsoft Windows Driver Model, Second Edition Tricks of the Windows Game Programming Gurus (2nd Edition) Programming Windows CE Programming Server Side Applications For Microsoft Windows 2000 Programming Applications For Microsoft Windows Show all..
Section: Networking SCO Unix Networking Guide Programming Principles in Java: Architectures and Interfaces
Section: GNU/Linux OS Advanced Linux Programming Introduction to Socket Programming Teach Yourself Shell Programming in 24 Hours Linux Installation and Getting Started Effective AWK Programming Show all..
Section: Mac OS X Mac OS X Unix 101 Byte-Sized Projects
Section: Embedded and RTOS Programming Embedded Systems in C and C++ Tornado User's Guide (UNIX Version) Tornado Getting Started Guide (UNIX Version)
Section: Solaris OS Programming Interfaces Guide Streams Programming Guide Multithreaded Programming Guide
Section: Unix OS Teach Yourself Unix in 24 Hours The Unix-Haters Handbook Nextstep Programming: Step One : Object-Oriented Applications/Book and Disk Basic UNIX Guide UNIX Unleashed, System Admin's Edition Show all..
Section: Assembly Language Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the PC and Windows Introduction to RISC Assembly Language Programming Programming from the Ground Up The Art of Assembly Language Programming Art of Assembly language (High Level Assembler) Show all..
Section: C Language Introduction to C and C++ Programming C Programming Tutorial (K&R version 4) Writing Bug-Free C Code for Windows: A Programming Style That Automatically Detects Bugs in C Code Programming in C: A Tutorial C Programming Show all..
Section: COBOL Programming ZingCOBOL: A Beginner's Guide to Programming in COBOL COBOL Programming Course COBOL Programming Guide VisualAge COBOL for Windows Programming Guide COBOL Programming Standards Show all..
Section: C++ Language An Introduction to C++ and Object Oriented Programming An Introduction to C++ Programming C++ in Action: Industrial Strength Programming Techniques C++ Programming for Scientists C++ Programming HOW-TO Show all..
Section: Other Programming Ada 95: The Craft of Object-Oriented Programming Pascal Programming Principles of Programming Languages Programming Language Examples Alike Cookbook Prolog Programming: A First Course Show all..
Section: Perl Scripting Advanced Perl Programming Effective Perl Programming: Writing Better Programs With Perl Practical Perl Programming Programming Perl 5.0 CGI Web Pages for Microsoft Windows NT Programming Perl, 3rd Edition Show all..
Section: Ruby Programming Programming Ruby - The Pragmatic Programmer's Guide
Section: Scripting Practical Programming in Tcl and Tk The Scheme Programming Language, Second Edition Tclwise - Guide to the Tcl Programming Language The Scheme Programming Language, Third Edition GUI Programming with Python: QT Edition Show all..
Section: Smalltalk The Art and Science of Smalltalk Smalltalk/V Mac Tutorial and Programming Handbook Smalltalk-80: The Interactive Programming Environment
Section: Redbooks Draft WebSphere Application Server V6 for OS/400: Getting Started Sizing I5/OS Work on IBM System i5 Partitions IBM PowerVM Live Partition Mobility z/OS Getting Started: WebSphere Process Server and WebSphere Enterprise Service Bus V6 Introduction to Workload Partition Management in IBM AIX Version 6 Show all..
Section: Redbooks Partitioning Implementations for IBM p5 Servers ABCs of z/OS System Programming Volume 9 Logical Partitions on System i5: A Guide to Planning and Configuring LPAR with HMC on System i WebSphere Application Server V6 for OS/400: A Guide to Getting Started Getting Started with WebSphere Enterprise Service Bus V6 Show all..
Section: Redpapers Understanding Lotus Notes Smart Upgrade IBM DB2 UDB Enterprise Server Edition V8 for UNIX Backup and Recovery Using a N Series Storage System z/OS UNIX Security Fundamentals Fabric Manager FICON 5.2 Quickstart Getting started with PowerVM Lx86 Show all..
Section: Redpapers Draft Getting Started with PowerVM Lx86 Fabric Manager FICON 5.2 Quickstart IBM WebSphere DataPower SOA Appliances Part II: Authentication and Authorization IBM WebSphere DataPower SOA Appliances Part III: XML Security Guide SmartVista i: High-performance payment processing solution on the IBM System i Show all..
Section: Software Engineering How to Design Programs: An Introduction to Programming and Computing Programming from Specifications Reusable Software Components: Object-Oriented Embedded Systems Programming in C Reasoned Programming Getting Real: The smarter, faster, easier way to build a successful web application book Show all..
Section: Web Programming Web Client Programming with Perl CGI Programming on the World Wide Web CGI Programming Unleashed Special Edition Using Perl 5 for Web Programming Web Programming Unleashed Show all..
Section: XML, XSL & UML Introduction to XML Programming XML Programming: Web Applications and Web Services With JSP and ASP
Similar Books from Amazon :
|

|