The Linux programmer's toolbox

Hope for those developers not raised on the Linux command line

Maximizing your infrastructure through virtualization

Book review Linux, like the other *nix platforms, has a reputation of being a good environment for developers. In fact, Linux and hacking – in the original sense of the word – seem to go hand in hand, so much so that some commentators still find it hard to conceive of it as anything but a server and/or development platform.

Whether the hacker roots of Linux have held it back from becoming a popular end-user platform is a topic for religious dispute. For those developers who've not been raised on the Linux command line, and for whom grep, awk and sed are strange and mysterious things, a book like John Fusco's The Linux Programmer's Toolbox might be regarded as pretty good place to get some guidance.

The first thing to note is that the title might be a tad misleading. On the face of it this sounds like a book about all of the different tools and utilities that are available to the Linux programmer – compilers, editors, build tools, and so on.

That's partially right, of course, there's a lot of coverage of these types of tools. But there are also plenty of tools that aren't covered (more on this later). And, more importantly, this is a book that provides the reader with coverage of how Linux itself works – the kernel, processes, inter-process communication, shell commands, and so on. In other words, it's not just about tools in isolation, but the tools in the context of the operating system and the services that it provides.

The book has a focus on system programming in C and, to some extent, C++, and this is reflected in the tools and examples provided. Perl, Python, Java, and the like hardly get a look in, and the same goes for tools targeted at those platforms in particular.

For example, in the section on editors there's coverage aplenty of EMACS and vi, some coverage of graphical editors (Kwrite, Gedit, NEdit, SciTE etc), but no mention of NetBeans, Eclipse, or even more general purpose Java-based editors such as the versatile and excellent JEdit. More difficult to understand is the absence of any detail on awk, sed and some of the other tools available to Linux developers.

Similarly, when it comes to other tools the emphasis is on C tools for system programming. Build tools covers make and the structure of make files, illustrated with examples to do with building the Linux kernel. Debugging, and there's a whole chapter devoted to the topic, is geared to the gdb debugger, which is another part of the GNU toolset that includes the GNU Compiler Collection (gcc), that is covered in some detail throughout the book.

But it's not just the big tools like gcc, gdb and the like that are covered. As with all of the other *nix platforms, there are dozens of small utilities around that make the most of the philosophy "do one thing and do it well". These include process mapping tools, strace for analysing system call behaviour, code optimisers, performance tuning utilities and so on. For developers looking to master the art of Linux system programming, these are essential low-level tools.

However, it's not just the emphasis on the tools that makes the book useful. There's coverage of a lot of "softer" topics – where and how to find help (everything from man files to product documentation), how to find and download software, and so on. For the developer fresh to Linux this sort of information is as useful as being able to set the warning levels on gcc.

The Linux Programmer's Toolbox

Linux Programmers ToolboxVerdict: Ideal for the developer wanting to delve into Linux system programming for the first time.

Author: John Fusco.

Publisher: Prentice Hall.

ISBN: 0132198576

Media: Book

List Price: £28.99

Current Reg price: £19.13 inc. VAT (discount 34 per cent)

Buy this book at Register Books at Reg Developer's special discounted price (subject to change). ®

Reducing security risks from open source software

More from The Register

next story
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
Do YOU work at Microsoft? Um. Are you SURE about that?
Nokia and marketing types first to get the bullet, says report
Microsoft takes on Chromebook with low-cost Windows laptops
Redmond's chief salesman: We're taking 'hard' decisions
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
EU dons gloves, pokes Google's deals with Android mobe makers
El Reg cops a squint at investigatory letters
Chrome browser has been DRAINING PC batteries for YEARS
Google is only now fixing ancient, energy-sapping bug
Big Blue Apple: IBM to sell iPads, iPhones to enterprises
iOS/2 gear loaded with apps for big biz ... uh oh BlackBerry
prev story


Seven Steps to Software Security
Seven practical steps you can begin to take today to secure your applications and prevent the damages a successful cyber-attack can cause.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.
Consolidation: the foundation for IT and business transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.