The UNIX Programming Environment by Brian W. Kernighan


The UNIX Programming Environment
Title : The UNIX Programming Environment
Author :
Rating :
ISBN : 013937681X
ISBN-10 : 9780139376818
Language : English
Format Type : Paperback
Number of Pages : 376
Publication : First published November 11, 1983

Designed for first-time and experienced users, this book describes the UNIX(R) programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.


The UNIX Programming Environment Reviews


  • Manny

    You can make poetry out of anything. This book is a stunning example.

  • Akos Hochrein

    First of all, the book is incredibly old. If you are a software developer in this world, you will most likely never want to hold books related to your craft as old as this.However, UNIX is a timeless beauty. This book show exactly why.

    Crunching through the first couple of sections of The UNIX Programming Environment completely refreshed my dusty knowledge on the UNIX system. Apart from receiving practical knowledge with many exercises to hone the newly attained knowledge, the book provide it's reader with deep insight on the theoretical, under-the-surface part of the UNIX system.

    Sadly, the book is very old indeed, after setting us up with the filters and programming the environment, I have felt, that the coming sections will not be very interesting or up to date, and so they weren't.

    My suggestion to new readers is to keep away from the last 2 sections of the book, describing the C programming environment (unless the reader is interested in how compilers were written in the old times), and the parts about documentation, since we have way better tools for those in modern environments.

  • Don Victorio

    The book is definitely worth reading, even THOUGH not exactly my style. I recommended it to a friend of mine and got back only positive feedback.

  • Mark Schulz

    Should be read by every programmer new to Linux. It introduces the underlying philosophy of Unix, something which most new programmers do not understand or practice (observations from 30+ years of teaching computer engineering). Kernighan has always been able to give clear explanations and examples of the Unix philosophy.

    This is the third time I have read the book and I found it just as useful and illuminating as the first time. I started programming on a Unix system in 1979 with only the V6 documentation (some written by Kernighan) and the source code to learn from. Kernighan's books helped immensely when they came out. Once met Brian in Sydney in the 1980's - his books were more interesting. :)

    If you want to become a better programmer then read this book.

  • Alex

    There is a common thread running through all of Kernighan's books: imparting deep insights in a down to earth, pragmatic and modest way.

    Let's unpack that. This book is (unsurprisingly) one of the best sources on the "Unix philosophy". Brian Kernighan was there when Unix and its philosophy were taking shape. Despite being the author of a good number of the tools covered in the book, this is only mentioned in passing, in a characteristically self-effacing way (Canadians, eh?)

    The aggressive simplicity, thriftiness, and pragmatism of the approch to software development applies today as much as it did the 40 odd years ago when the book was written. Yes, those were simpler times, and as we've learned more about computing in general, and Unix in particular, some problems have emerged. Like how using files as the lowest common denominator doesn't always work, or the problems with the signal model. But the authors acknowledged that Unix is not the last word in operating systems, and that it already had warts back then. But the general approach to problem solving and developing software is something we can still learn from.

  • Pawan W

    Completed this book at the end the reason that made me loose interest and also to read it completely, let me explain the reason -
    The reason to complete it was Author is a really good programmer and the logic that has been explained by analysing problem and providing its solution in simple process is what makes this book entertaining and used to keep me on toes.
    And the reason I used to loose interest in the middle is as currently I am new to programming wherever I used to get stuck or wherever the syntax and the tools which we need to try out are not working on the current machine I had a big round of googling and trying to read manuals to get the code working which took a long time and I used to leave it half way. What brought me back was I don’t keep things unfinished and it was programming logic which got built up by authors thought process which makes it a good read.

  • Unpil

    I read the first several chapters (1-3) and an Appendix (A) on ed to learn how to think in UNIX language, instead of keep searching for commands whenever I needed them. Although it is dated, the instruction is pedagogical, and the exercises helpful. Also, it's a nice peek into how UNIX looked like in the 1980s. The fact that so many examples still compile after almost four decades shows how strong the conceptual foundation behind UNIX is.

    I might get to Chapter 5 later when I am interested in writing a longer shell script.

  • Wonkybadonk

    The concept of many small programs that do one thing well and can be linked together with pipes is still relevant today in helping break the big monolithic spaghettis into more reasonable testable chunks of functionality. Chapter 8 is a bit dated for the specific code examples but the conceptual introduction to parsers and lexical analyzers is stimulating and a goof segue into the nuts and bolts of compilers. Overall a good read for the historical computing nerds out there.

  • Kim L

    One word: brilliant. This book ought to be a mandatory study for all computer science students. Don't just learn different commands; learn to think like the authors. While reading this book one absorbs the paradigms and modes of problem solving from the brightest minds in the field.

  • Ayush Bhat

    was released in 1984, still totally relevant

  • Ben

    This book contains the knowledge vital to understanding the core of modern software development and sadly, neglected by the mainstream.

  • Ovidiu Neatu

    Kind of obsolate, as so many people said already. I began reading the book expecting to understand more of the unix system call using the C programming language, but.. I din't find alot of that. In spite of being obsolate and my expectation going down I like very much Brian Kerninghan's way of teaching stuff. The epic chapter "Program Development" convinced me to give a 4 star to the book. The chapter is about creating a programming language so you go to all kind of stuff a computer scientist should have idea of: grammars, parsers, lexigo, lexicographic analyzer, how control flow is implemented(if, while) and more interesting stuff and how they fit togheter.

  • knoba

    .
    .
    Contents
    Preface
    1. UNIX for Beginners
    2. The File System
    3. Using the Shell
    4. Filters
    5. Shell Programming
    6. Programming with Standard I/0
    7. UNIX System Calls
    8. Program Development
    9. Document Preparation
    Epilog
    Appendix 1. Editor Summary
    Appendix 2. hoc Manual
    Appendix 3. hoc Listing
    Index

  • David Carroll

    Written when UNIX was younger, the voice is one of presentation excitement & clarity. A good read for those interested in UNIX history and written by some of the gentlemen who invented it back in the late 60's.

  • Dan Allen

    An excellent introductory text to the world of the command line, small tools, and Unix. The C programming language, as well as Awk are described. Command shells are demonstrated. A most important work, and well written too.

  • Jeremy Dagorn

    Good book, with a lot of common parts/topics with the C programming Language book.
    Clear, with good examples. Maybe some parts are too long to be read at one.
    Really interesting part about yacc and lex.

  • Kazutaka Ogaki

    This is my first contact UNIX.
    Although most of people have no need to know command line magics, this book is still "MUST" for apprentices of Guru.
    Just a spell is not enough. To know 'WHY' is the key. This book is nearest place from the source of UNIX, so, full of anecdotes lives here.

  • idle sign

    Книга для желающих ознакомиться с базовыми принципами UNIX, от тех, кто стоял у истоков. Философия, архитектура, оболочка, утилиты, средства программирования. Местами слишком поверхностно, местами неоправданно глубоко.

  • Jonathan Dowland

    well written and funny in places, nevertheless quite basic and lacking coverage of newer UNIX technologies like sockets (which admittedly lack shell-level tools to manipulate and are more of a systems programming tool). file descriptor juggling is only given cursory coverage.

  • Scott

    Another good book. Read it years ago, while learning Unix.

  • Jack Repenning

    Before there was bash, before Ruby or PHP or Python or Perl, before X Windows, there was The Shell.