Feeds

The Linux programmer's toolbox

Hope for those developers not raised on the Linux command line

The Power of One Brief: Top reasons to choose HP BladeSystem

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

Seven Steps to Software Security

More from The Register

next story
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
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.
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.
Application security programs and practises
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Securing Web Applications Made Simple and Scalable
Learn how automated security testing can provide a simple and scalable way to protect your web applications.