Professional Linux Programming Paperback – Mar 12 2007
|New from||Used from|
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
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.
About the Author
Jon Masters is a 25-year-old British-born Linux kernel engineer, embedded systems specialist, and author who lives and works in the United States for Red Hat. Jon made UK history by becoming one of the youngest University students the country had ever seen, at the tender age of just 13. Having been through college twice by the time his peers were completing their first time around, and having been published over 100 times in a wide range of technical magazines, journals and books, Jon went on to work for a variety of multinational technology companies. He has worked extensively in the field of Embedded Systems, Enterprise Linux and Scientific instrumentation and has helped design anything and everything from Set Top Boxes to future NMR (MRI) imaging platforms.
When not working on Enterprise Linux software for Red Hat, Jon likes to drink tea on Boston Common and read the collective works of Thomas Paine and other great American Revolutionaries of a bygone age. He dreams of a time when the world was driven not by electrons, but by wooden sailing ships and a universal struggle for the birth of modern nations. He plays the violin, and occasionally sings in choral ensembles, for which he has won several awards. For relaxation, Jon enjoys engaging in a little rock climbing. He lives in Cambridge, Massachusetts, just across the river Charles from historic Boston, and enjoys every minute of it.
Jon has extensive experience in speaking about and training people to use a wide variety of Linux technologies and enjoys actively participating in many Linux User Groups the world over.
Richard Blum has worked for over 18 years for a large U.S. government organization as a network and systems administrator. During this time he has had plenty of opportunities to work with Microsoft, Novell, and of course, UNIX and Linux servers. He has written applications and utilities using C, C++, Java, C#, Visual Basic, and shell script.
Rich has a Bachelors of Science degree in Electrical Engineering, and a Masters of Science degree in Management, specializing in Management Information Systems, from Purdue University. He is the author of several books, including “sendmail for Linux” (2000, Sams publishing), “Running qmail” (2000, Sams publishing), “Postfix” (2001, Sams Publishing), “Open Source E-mail Security” (2001, Sams Publishing), “C# Network Programming” (2002, Sybex), “Network Performance Open Source Toolkit” (2003, John Wiley & Sons), and “Professional Assembly Language Programming” (2005, Wrox).
Most Helpful Customer Reviews on Amazon.com (beta)
I do have a few reservations about the content in this reference. Aside from the movement of serveral chapters from the previous reference to entire books of their own, there are new programming areas that have been surprisingly neglected. New languages have emerged as leaders in the Linux world such as C++, Java, and C#. More importantly, development performance and application complexity now demand the use of Integrated Development Environments( IDE ) for project design. There should have been chapters dedicated to Eclipse( Java, C++, C ), the Mono Project( C#, C++, C, and Java ) and others. I haven't hired any programmers since 1992 that didn't know how to use Visual Studio or an integrated editor like SlickEdit on the Windows side of the asile. An integrated debugger in the IDE is a requirement in order to meet current schedules. Professional development also requires an editor that can have over 40 open files. Furthermore, portability and version control for team programming are widely considered important features for companies contemplating a wider use of Linux applications. Consider these questions, how can these companies combine version control systems, and what features from std lib and graphic libraries are also reflected in .NET libraries? Its time to give CVS a decent burial and at least adopt Subversion. What about design patterns and good programming practice? These topics can be referenced in other books to make it clear what the current requirements are for professional programming. The command line isn't dead, but it isn't the preferred method of building projects either.
In the next series, I want to see at least 1000 pages and 22 chapters dedicated to the current areas and in addition the following topics: Program development in current IDEs, Debugging tools, Current programming languages, designing web and system services, Database comparison in Linux, custom Graphics at the WPF level, and very importantly, interprocess communication between different operating systems.
Linux can only become a leader when it can be the common hub that connects various systems and includes both desktop and server systems. Windows will continue to rule the PC world if the current deficiencies remain. Open Office is one place where this catchup is happening. When the design and programming interfaces become comparible between OSs and applications, the questions of which OS to install will become moot when this happens. But first, we must all know how to connect the application to all the current interface. OS price is not the sole issue here and passion is not sufficient to change this situation.
I like what I see in this reference, but there are subject deficiencies that should be corrected. Until, these issues are addressed in this reference in the next edition, I can only give it four stars. Fortunately, there is space for an additional five hundred pages to close the requirements gap. I'm looking forward to seeing this done in the next two years and I will be the first to buy or contribute to this advanced edition. I enjoy open system programming for Linux and I want to see it become the standard for PC computing.