Linux Programmer's Reference, Second Edition
Author: Richard Petersen
Publisher: Osborne McGraw-Hill
Price: $19.99 US
Reviewer: Ibrahim F. Haddad
Every once in a while—and more frequently lately, due to the growing popularity of Linux—a book appears pretending to be a reference, but the material is neither well-organized nor complete enough to truly be called a reference for the subject. Linux Programmer's Reference does not fall into either category.
Linux Programmer's Reference is divided into three parts, with seven chapters and three appendices. The first part, Chapters 1, 2 and 3, involves the BASH, TCSH and Z shells. It covers the configuration, initialization, creation and execution of shell scripts, as well as a description of all programming-related commands for the respective shell. In addition, syntax, usage and short practical examples are given to make sure the reader understands the idea.
The second part, Chapters 4 and 5, concerns the compiling, debugging and packaging of C and C++ programs. Peterson covers everything from binary formats, static vs. shared and dynamic libraries, the gdb debugger, passing by the make utility, the revision control system (rcs), up to the man pages.
The author recognizes GNOME and KDE programming popularity by including a chapter on each (Chapters 6 and 7) describing the essentials of how to create GNOME and KDE interfaces.
Finally, the three appendices serve as a quick reference for Perl, the Tcl/Tk scripting language, and TeX and LaTeX commands.
The Perl appendix covers file commands, array operations, operators, control structures, functions, pattern-matching operations and regular expressions and subroutine components. The Tcl/Tk appendix lists Tcl operators, the most common Tcl and Tk commands, standard Tk widgets and Tk options. The TeX and LaTeX appendix covers the essential commands of TeX and LaTeX.
As a Linux programming reference, the book has much to offer. It presents valuable, precise programming syntax and advice for every Linux programmer, whether you are a novice, intermediate or expert programmer. In addition to syntax, it provides brief explanations and programming examples for each command, as well as advice on how, when and why to use each command, helping you choose the most suitable one for your particular task.
The examples throughout the book are very structured, short enough to type and try yourself, and still contain all the major concepts intended to be present. In general, the use of examples help to clear up questions the readers may have after reading the concept materials, and Peterson's examples serve that purpose well.
Petersen's writing style is clear and concise, making the book easy to read and follow. However, someone on one of the newsgroups complained that Petersen covers ci and co commands for RCS without ever noting that they stand for “check-in” and “check-out”, a concept that surely makes rcs easier to understand. Such small notions may seem not important for professionals, but they are of great significance to newcomers—a matter to which Peterson might have paid more attention.
Linux Programmer's Reference is not a “Learn-X-in-12-hours” type of book. This book is not meant to teach C, C++ or Perl. It is meant to serve as a reference for those moments when you have a programming-related question, such as when you've forgotten the syntax or wonder whether a feature exists or not. This book will give all you need to get a clear and concise answer without having to search countless pages in different books or seek the help of your colleagues.
The book, as a reference, can find its place on the bookshelves of Unix-experienced users and programmers who are migrating to Linux and want specific Linux information, especially on critical gcc compiler and library issues. Linux programmers and newcomers will also find it very useful for its list of shell commands, its programming section and the quick references.
Personally, I found this book to be a useful reference worth the price ($16.99 US at Amazon.com). On the other hand, I felt the author assumed the reader knows his way around Linux and its programming tools. So, if you are a fresh, out-of-the-box newcomer, expect to dirty your hands.
I received a number of comments from some reviewers wishing there was more on scripting languages than the Perl and Tcl/Tk listings in the appendices. I agree with them. If a solid chapter on scripting languages was included instead, it would have been a great book. Nevertheless, it's still a good book, well-written and concise, and it covers the ground. If you need a good reference, Linux Programmer's Reference is the book to buy.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Dynamic DNS—an Object Lesson in Problem Solving
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Please correct the URL for Salt Stack's web site
2 hours 24 min ago
- Android is Linux -- why no better inter-operation
4 hours 39 min ago
- Connecting Android device to desktop Linux via USB
5 hours 7 min ago
- Find new cell phone and tablet pc
6 hours 5 min ago
7 hours 34 min ago
- Automatically updating Guest Additions
8 hours 43 min ago
- I like your topic on android
9 hours 29 min ago
- This is the easiest tutorial
16 hours 5 min ago
- Ahh, the Koolaid.
21 hours 44 min ago
- git-annex assistant
1 day 3 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?