HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)

Richard W. Stevens, Stephen A. Rago · 3 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)" by Richard W. Stevens, Stephen A. Rago.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the original Stevens classic while keeping true to the original." &;Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group The same trusted content from the Second Edition, now in paperback! For over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens' Advanced Programming in the UNIX® Environment . Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms. Rago carefully retains the spirit and approach that made this book a classic. Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O. Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard. Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3. As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code. More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments. Advanced Programming in the UNIX® Environment has helped a generation of programmers write code with exceptional power, performance, and reliability. Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
If your goal is to become a "better" coder, doubling down on understanding the fundamentals rather than the specifics of a given language seems like an approach to consider.

That said, others here have recommended C instead or in addition to Rust or Go; this makes sense to me.

C is actively used and remains the lingua franca of low/system level programs (for the time being.) I'd also say that its relatively simple syntax and closeness to the underlying representation have a lot going for it (at least what you'd imagine the underlying assembly representation to be - hardware and clever compilers are doing a lot.)

The C language is simple, more than either Rust or Go, and can be picked up quickly, in my view. But actually understanding and using it competently is an altogether different matter.

Additionally, an absolute wealth of books introducing OS, drivers, and system and network programming topics using C exist. Projects like Xv6, Minix, and even Linux provide for code bases to run through and explore

- Computer Systems: A Programmer's Perspective [0]

- The Linux Programming Interface [1]

- Advanced Programming in the UNIX Environment [2]

- Dive into Systems [3]

And the list goes on and on.

You'll likely never write production code or push production projects in C (one hopes), but it seems to me that it remains a very useful language to be able to work with and to understand.

[0] https://www.amazon.com/Computer-Systems-Programmers-Perspect...

[1] https://www.amazon.com/Linux-Programming-Interface-System-Ha...

[2] https://www.amazon.com/Programming-Environment-Addison-Wesle...

[3] https://diveintosystems.org

I imagine this as a big soft-bound book, kind of like http://www.amazon.com/Programming-Environment-Addison-Wesley....

Then, when you open it, the first non-blank page just says, centered on the page in a large, bold, type:

DON'T -- USE A LIBRARY!

DennisP
Somebody's got to write the libraries.
HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.