Programming Guide Gets Down to the Metal - page 2
Nothing gawk-y About It
LinuxPlanet: Is Linux really that complex to learn? Surely many of the basics haven't changed since the days of Unix?
Arnold Robbins: Modern Unix systems, including Linux, provide approximately a gazillion and one system calls and library functions. Many of them really aren't necessary for most day to day programming. But it's hard for the newcomer to know where to start.
Thus the deliberate use of the word "fundamentals" in the book's title: my aim was to present the most basic and fundamental facilities, the ones needed by just about any significant non-GUI style application. With an understanding of these APIs under your belt, you should have no trouble reading the code for just about any standard command.
So, to answer your question, no, the basics mostly haven't changed. But some areas have developed (like signals), and in the others, it's important to describe what's fundamental and what isn't, and also what kinds of things to watch out for!
LP: You cover some of the issues of different Unix variants--BSD, SVR4, etc.--in your book. Do you think this is a barrier to programming for a wider market?
Robbins: It can be. The problems is always in the niggling details. GNU Autoconf aims to make some of these issues manageable, and one day I'd like to expound on that angle of portability some more. However, for the most part what the book covers applies across the board to any kind of POSIX compatible system, and where things are Linux-specific they're clearly marked as such.
Here, too, experience helps, and I tried hard to convey some of that experience. I would encourage anyone who's written code just for Linux to work at a port to a different system, such as a BSD variant or a commercial Unix platform.