Professional Linux Programming

Wrox, 2007

by Jon Masters, Richard Blum


As Linux continues to grow in popularity, there has never been more of a need to understand how to develop for this platform. Rather than focusing on a particular language or development technique, Professional Linux Programming looks at the different development environments within Linux—the kernel, the desktop, and the web—and then demonstrates best practices, tools, and techniques for integrating applications with the OS as a whole. This book is essential for understanding the nuances that differentiate programming for Linux from programming for any other platform. After beginning with simple shell scripts, the reader quickly moves on to the more advanced topics like software drivers and the graphical interface.

The wide variety of tools that you can use to build application software, utilities, and even the Linux kernel itself are covered. You'll also explore the unique components of a Linux system and delve into the inner workings of the system. And you'll find out how to use Linux with the web by writing software for the LAMP (Linux, Apache, MySQL, Perl/Python) stack. You'll then be able to apply this information to streamline software development while incorporating cutting-edge features and functionality.

What you will learn from this book

How to use tools such as compilers, debuggers, and Software Configuration Management
Ways to interact with Linux systems through network interfaces, graphical user environments, and LAMP stacks

Techniques for building software for different compatible platforms

Tips for utilizing the GNU automated build for faster development

Steps for using emulation and virtualization technologies for kernel development and application testing

How to write your own GNOME software and powerful web applications

Who this book is for

This book is for professional programmers who want to understand the internals of a typical Linux system. It is also for those who want to solve a particular problem while creating or modifying applications using Linux.

Table of Contents


Chapter 1: Working with Linux.

Chapter 2: Toolchains.

Chapter 3: Portability.

Chapter 4: Software Configuration Management.

Chapter 5: Network Programming.

Chapter 6: Databases.

Chapter 7: Kernel Development.

Chapter 8: Kernel Interfaces.

Chapter 9: Linux Kernel Modules.

Chapter 10: Debugging.

Chapter 11: The GNOME Developer Platform.

Chapter 12: The FreeDesktop Project.

Chapter 13: Graphics and Audio.

Chapter 14: LAMP.




No comments posted yet. Add a comment

Useful Web sites:


Here's where I keep up to date on the latest Linux distribution news.

The most popular desktop Linux distribution.

A popular full-featured Linux distribution, great for both desktops and servers.

Web Programming

PHP online manual
The ultimate resource in all PHP programming topics

MySQL online manual
The MySQL database online manual.

A great online tutorial and reference for many Web programming languages.

Bass Guitar

Fender basses
One of my favorites, I love the Fender Jazz bass. It's such a versatile instrument you can take it to just about any gig!

Lakland basses
The Lakland Skyline 55-01 bass is yet another of my favorite basses!

Bible Study

Reformed Theological Seminary
When I'm not reading computer books, I'm doing bible studies. The Reformed Theological Seminary has some great online courses for free that cover the basics of reformed theology.
A smorgasbord of more reformed and evangelical seminary course recordings, all for free!