Saturday, March 26, 2016

Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel

               
                Ebook Size: 3.7 MB
                Download : Advanced Linux Programming

GNU/Linux has taken the world of computers by storm. At one time, personal computer users were forced to choose among proprietary operating environments and applications. Users had no way of fixing or improving these programs, could not look “under the hood,” and were often forced to accept restrictive licenses. GNU/Linux and other open source systems have changed that—now PC users, administrators, and developers can choose a free operating environment complete with tools, applications, and full source code.

A great deal of the success of GNU/Linux is owed to its open source nature. Because the source code for programs is publicly available, everyone can take part in development, whether by fixing a small bug or by developing and distributing a complete major application.This opportunity has enticed thousands of capable developers worldwide to contribute new components and improvements to GNU/Linux, to the point that modern GNU/Linux systems rival the features of any proprietary system, and distributions include thousands of programs and applications spanning many CD-ROMs or DVDs.

The success of GNU/Linux has also validated much of the UNIX philosophy. Many of the application programming interfaces (APIs) introduced in AT&T and BSD UNIX variants survive in Linux and form the foundation on which programs are built.The UNIX philosophy of many small command line-oriented programs working together is the organizational principle that makes GNU/Linux so powerful. Even when these programs are wrapped in easy-to-use graphical user interfaces, the underlying commands are still available for power users and automated scripts. A powerful GNU/Linux application harnesses the power of these APIs and commands in its inner workings. GNU/Linux’s APIs provide access to sophisticated features such as interprocess communication, multithreading, and high-performance networking. And many problems can be solved simply by assembling existing commands and programs using simple scripts.

This book is intended for three types of readers:

You might be a developer already experienced with programming for the GNU/Linux system, and you want to learn about some of its advanced features and capabilities.You might be interested in writing more sophisticated programs with features such as multiprocessing, multithreading, interprocess communication, and interaction with hardware devices.You might want to improve your programs by making them run faster, more reliably, and more securely, or by designing them to interact better with the rest of the GNU/Linux system.

1. GNU is a recursive acronym: It stands for “GNU’s Not UNIX.”

You might be a developer experienced with another UNIX-like system who’s interested in developing GNU/Linux software, too.You might already be familiar with standard APIs such as those in the POSIX specification.To develop GNU/Linux software, you need to know the peculiarities of the system, its limitations, additional capabilities, and conventions. You might be a developer making the transition from a non-UNIX environment, such as Microsoft’s Win32 platform.You might already be familiar with the general principles of writing good software, but you need to know the specific techniques that GNU/Linux programs use to interact with the system and with each other. And you want to make sure your programs fit naturally into the GNU/Linux system and behave as users expect them to.

You might be a developer experienced with another UNIX-like system who’s interested in developing GNU/Linux software, too.You might already be familiar with standard APIs such as those in the POSIX specification.To develop GNU/Linux software, you need to know the peculiarities of the system, its limitations, additional capabilities, and conventions. You might be a developer making the transition from a non-UNIX environment, such as Microsoft’s Win32 platform.You might already be familiar with the general principles of writing good software, but you need to know the specific techniques that GNU/Linux programs use to interact with the system and with each other. And you want to make sure your programs fit naturally into the GNU/Linux system and behave as users expect them to.

No comments:

Post a Comment

What do you think about this book?