This is an excellent book, which I would heartily recommend. Almost every aspect of program development under Linux is covered. The authors introduce each subject at a basic level and still go into sufficient detail to satisfy the more experienced programmers.
Despite the 'Beginning' in its title this huge tome is not an elementary programmer's book. The intended readership of this book should already have some programming and UNIX experience. It is a very comprehensive tutorial on program development under Linux covering shell programming, C language and libraries, development tools and interpreted languages.
The authors are English, which is unusual these days, as nearly all computer books seem to be American. The content of the book has little that is country-specific.
It is presented in a very readable style and is well structured. Extensive use is made of different font styles and shaded boxes to distinguish between source code, typed commands and their output and subsidiary information. Diagrams and flow charts are used where appropriate. I also liked the picture of the 'Creature Comforts' look-a-like penguin between paragraphs!
Plenty of example programs are included for the reader to try, from the standard Hello World program to some quite complex and useful programs. All the source code is available for download from the Internet, but it aids your understanding to type in and experiment with some of the shorter programs. I didn't have time to study all the examples to check for typographical errors, but the programs I tried all worked first time.
Although it is not intended as a primer on teaching the C language a large section of the book is devoted to C programming. It shows how to write programs under Linux and includes sections on low-level system calls, the curses library and network programming. A chapter on inter-process communications covers the multi-tasking abilities of UNIX. Some quite advanced programs are developed to demonstrate these topics, for example, a client-server database.
This is not purely a book full of programming examples as it goes on to describe the software development environment and tools. Makefiles, source code control and debugging tools are explained in great detail. Debugging techniques are presented in a very clear and methodical manner, a topic that other books often skip over.
I particularly liked the sections on GUI programming. Just about every aspect is included with sections on the tk extensions to tcl and even writing HTML documents. Perl is mentioned briefly, as is Java, but there is a limit to how much can be included in one book. With new extensions to HTML (and VRML) appearing all the time this is going to be out of date very quickly. It gives the basics of creating web pages, but how many people still manually edit HTML? I was more interested in the section explaining how to set up a web server.
The X Windows standard libraries get only a token mention but the O'Reilly series 'The Definitive Guides to the X Window System' describe these in very great detail. However, it takes several books to do so.
This is an excellent book, which I would heartily recommend. Almost every aspect of program development under Linux is covered. The authors introduce each subject at a basic level and still go into sufficient detail to satisfy the more experienced programmers. The clear style of presentation and the good quality of the printing enhance the quality of the authors' writing. Overall, it is a good buy at its price.
The authors' website is at:http://www.docbox.co.uk/