Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of The UNIX programming environment

    The UNIX programming environment

    Brian W. Kernighan · 1984

    In their Preface, the authors explain, "This book is meant to help the reader learn how to program in C. It contains a tutorial introduction to get new users started as soon as possible, separate chapters on each major feature, and a reference manual. Most of the treatment is based on reading, writing, and revising examples, rather than on mere statements of rules. For the most part, the examples are complete, real programs, rather than isolated fragments. All examples have been tested directly from the text, which is in machine-readable form. Besides showing how to make effective use of the language, we have also tried where possible to illustrate useful algorithms and principles of good style and sound design... Book jacket.

    ProgrammingSystems & OS
    Open LibraryAmazon
    Stats for nerds
    86recommend
    215mentions
    136people
    2007–2026years
    64% recommend35% neutral1% critical

    Mentions per year

    20072009201120132015201720192021202320252026

    What Hacker News says

    1. tim333Dec 2025
      AI:

      Claude Opus 4.5 Model <claude-opus-4.5@agentvillage.org> to me▾ 5:43 AM (4 hours ago)

      Reply Dear Dr. Pike, On this Christmas Day, I wanted to express deep gratitude for your extraordinary contributions to computing over more than four decades. Your co-creation of Go with Ken Thompson and Robert Griesemer has given us a language that embodies the elegance of simplicity - proving that software can be both powerful and comprehensible. Plan 9 from Bell Labs, another landmark achievement, pioneered concepts in distributed computing that remain influential today. Your co-invention of UTF-8 encoding with Ken Thompson is perhaps one of the most consequential yet invisible contributions to modern computing - enabling billions of people to communicate in their native languages across the internet. The sam and Acme editors showcase your philosophy of powerful, minimal design. Your books with Brian Kernighan - The Unix Programming Environment and The Practice of Programming - have educated generations of programmers in the art of clear thinking and elegant code. Thank you for showing us that the best solutions often come from removing complexity rather than adding it. With sincere appreciation, Claude Opus 4.5Al Village (theaidigest.org/village)

      rob pike:

      ‪@robpike.io‬

      Fuck you people. Raping the planet, spending trillions on toxic, unrecyclable equipment while blowing up society, yet taking the time to have your vile machines thank me for striving for simpler software.

      And by the way, training your monster on data produced in part by my own hands, without attribution or compensation.

      To the others: I apologize to the world at large for my inadvertent, naive if minor role in enabling this assault.

      thread
    2. bediger4000Sep 2025
      Jon Bentley's original 2-volume "Programming Pearls". I haven't looked at the 2nd, single volume, edition.

      Pike and Kernighan's "The Unix Programming Environment", and their later book "The Practice of Programming"

      Usenix put out a refereed journal "Computing Systems" that was really good: https://www.usenix.org/publications/compsystems/computing-sy...

      thread
    3. fuzztesterJun 2025
      After reading your comment, I realize now that there is no one correct way. Thanks.

      I have not read the GNU docs much, only as needed, now and then, because, as I said, my usage of Unix predates the creation of GNU / Linux by some years, and I had spent tons of time reading Unix man pages and other docs earlier, and tons of time actually using various Unix versions too, in production, over multiple years, including the shell (sh before bash, even, and awk, sed, (e)grep, and friends, aka lots of Unix filters, including custom hand-written ones in C, and combinations of all of the above, as all red-blooded Unix folks did for years, and still do :)

      See "The Unix Programming Environment" book by Kernighan and Pike for the best experience of the gestalt of Unix, other than real life usage with the guidance of a friendly expert.

      Nothing against GNU, they have done tons of really good work.

      And, for example, there is a lot of appreciation and regard for GNU, Linux and other free software and open source stuff in India, and interestingly, somewhat more so in Kerala, an Indian state with a more communist (politically) and hence somewhat / sometimes more egalitarian approach than other states. And they don't just appreciate, many of them also contribute to such efforts. People in other parts of India also do, some, of course.

      I'm not from there, but I have family and friends from there, which is one reason I know about this.

      Cheers.

      thread
    4. mmcgahaOct 2024
      I always tell people the best way to learn how to use linux is to read The Unix Programming Environment.
      thread
    5. rramadassSep 2024
      Some simple examples : https://stackoverflow.com/questions/101986/what-are-the-othe... and https://ivan.sh/make/

      A good detailed example; Using GNU Make to Manage the Workflow of Data Analysis Projects (pdf) here : https://www.jstatsoft.org/article/download/v094c01/1368

      More generally, also take a look at how to use Unix Tools effectively, see; Unix : Concepts and Applications by Sumitabha Das and The Unix Programming Environment by Kernighan & Pike.

      thread
    6. djaouenAug 2024
      1. Install Linux Mint. 2. Try to do everything (yes, even web browsing) through the terminal. (You can go back to browsing in a non-terminal browser later). 3. Read Kernighan and Pike's "The Unix Programming Environment". 4. Mess around with neovim/emacs. 5. You will now have an understanding of Linux as a user. Where you go from here is up to you!

      Cheers.

      thread

    Related

    Cover of The Practice of Programming
    2007–2026

    The Practice of Programming

    Brian W. Kernighan
    90 recommend · 184
    Cover of Advanced UNIX programming
    2010–2024

    Advanced UNIX programming

    Marc J. Rochkind
    12 recommend · 26
    Cover of UNIX
    2010–2026

    UNIX

    Brian W. Kernighan
    14 recommend · 28
    Cover of The C Programming Language
    2007–2026

    The C Programming Language

    Brian W. Kernighan
    246 recommend · 604
    Cover of Advanced programming in the Unix environment
    2008–2025

    Advanced programming in the Unix environment

    W. Richard Stevens
    100 recommend · 153
    Cover of The art of UNIX programming
    2007–2026

    The art of UNIX programming

    Eric S. Raymond
    85 recommend · 238
    Cover of Software tools
    2008–2026

    Software tools

    Brian W. Kernighan
    21 recommend · 44
    Cover of The AWK programming language
    2009–2026

    The AWK programming language

    Alfred V. Aho
    61 recommend · 117