Feeds

The Linux programmer's toolbox

Hope for those developers not raised on the Linux command line

Secure remote control for conventional and virtual desktops

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). ®

The essential guide to IT transformation

More from The Register

next story
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
Munich considers dumping Linux for ... GULP ... Windows!
Give a penguinista a hug, the Outlook's not good for open source's poster child
Intel's Raspberry Pi rival Galileo can now run Windows
Behold the Internet of Things. Wintel Things
Linux Foundation says many Linux admins and engineers are certifiable
Floats exam program to help IT employers lock up talent
Microsoft cries UNINSTALL in the wake of Blue Screens of Death™
Cache crash causes contained choloric calamity
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Top 10 endpoint backup mistakes
Avoid the ten endpoint backup mistakes to ensure that your critical corporate data is protected and end user productivity is improved.
Top 8 considerations to enable and simplify mobility
In this whitepaper learn how to successfully add mobile capabilities simply and cost effectively.
Rethinking backup and recovery in the modern data center
Combining intelligence, operational analytics, and automation to enable efficient, data-driven IT organizations using the HP ABR approach.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.