
Ebook Info
- Published: 2000
- Number of pages: 1200 pages
- Format: PDF
- File Size: 4.08 MB
- Authors: Neil Matthew and Richard Stones
Description
As Linux increases its presence throughout the world as a target platform for professional application development, its growth as a powerful, flexible system offering many free development tools assures its place in the future. By giving you easy access to this comprehensive range of tools, supporting new and nascent technologies, at little or no cost, developing with Linux allows you to apply the solution that’s right for you. In this follow-up to the best-selling Beginning Linux Programming, you will learn from the authors’ real-world knowledge and experience of developing software for Linux; you’ll be taken through the development of a sample ‘DVD Store’ application, with ‘theme’ chapters addressing different aspects of its implementation. Meanwhile, individual ‘take-a-break’ chapters cover important topics that go beyond the bounds of the central theme. All focus on the practical aspects of programming, showing how crucial it is to choose the right tools for the job, use them as they should be used, and get things right first time. Who is this book for?Experienced Linux programmers and aspiring developers alike will find a great deal of practical information in this book on libraries, techniques, tools and applications. You should be familiar with a simple Linux system, have a good working knowledge of programming in C, and a basic understanding of object-oriented programming with C++ for the Qt/KDE chapters. What does this book cover?Data storage in Linux – including coverage of PostgreSQL, MySQL and XML Implementation of Linux GUIs – covering both KDE and GNOME Web-based interfaces – using the PHP module for Apache Python – including extending and embedding the language Using RPC and CORBA to construct distributed object-based applications Versioning (with CVS), documentation, internationalization and project distribution Distributed hardware solutions such as diskless Linux and Beowulf clustering
User’s Reviews
Editorial Reviews: Amazon.com Review By tapping the strengths of the open-source movement, developers can write custom Linux software without spending a dime on licensing fees. Aimed at the experienced C/C++ programmer, Professional Linux Programming provides a wide-ranging and hands-on guide to the different pieces of the puzzle that are required to program successfully on this exciting new platform. The book is framed as a case study for building a custom database program in Linux for a video rental store. After a tour of the requirements and a brief look at project management for creating this software, the various Linux packages that are needed to implement this system are described, along with sample code, most of which is written in C. Some packages, such as the CVS version-control package, come with most distributions of Linux; others will require downloading additional software over the Internet. In every case, you’re provided with the actual command-line arguments that are needed to install, configure, and run each package. Besides a great exploration of CVS for version control, this title offers excellent coverage of the free PostgreSQL and MySQL databases, which are two very popular choices for Linux databases. The book also does a good job of explaining UI design under both the GTK+/GNOME and KDE (two popular Linux desktops), and how to extend the reach of the sample database application by using Remote Procedure Calls (RPCs) and CORBA. Of course, the finished application doesn’t use every Linux API that’s covered here, but the book does cast a wide net, and introduces features and tools that are available. Two prominent chapters take you on a tour of the essentials of other programming languages. There’s PHP for Web development and an appealing, enthusiastic introduction to Python (which probably will turn you into a Python convert). Later chapters provide practical tips for testing and debugging applications, including how to profile your code. The book closes with a useful guide to creating Red Hat Package Manager (RPM) packages for deploying applications, as well as an overview of your options for internationalization. By covering so many APIs, languages, and tools effectively, Professional Linux Programming gives experienced C/C++ programmers all that they need to get started with Linux development. With its remarkably clear presentation style and abundance of practical tips, the book is an admirably useful blueprint for building custom software. –Richard DraganTopics covered:Introduction to open-source software and Linux requirements Use cases and sample C objects for sample video rental store Version control and CVS (command-line options, revisions, branches, and multiuser version control) Open-source freeware packages compared (mSQL, MySQL, and PostgreSQL) Introduction to databases Installing and using PostgreSQL Tutorial on psql SQL PostgreSQL C database APIs using libcq and embedded SQL calls with ECPG Installing and using MySQL (command-line utilities and C database APIs) Debugging with gdbIntroduction and tutorial to UI programming with glibGTK+ and GNOME Source trees and GNOME UI design with Glade Testing strategies (including regression testing, profiling, and memory bounds checking) KDE/Qt UI programming Introduction and quick tutorial to Python (keywords and basic syntax) PHP for Web programming Introduction to Remote Procedure Calls (RPCs) and CORBA XML basics (document structure, parsing, and libxml) Strategies for documentation (including custom man pages) Distributing Linux applications with Red Hat Package Manager (RPM) packages Code patches From the Publisher This book is for people who have Linux installed, are comfortable with it and have some knowledge of programming. They may well have bought BLP and now want to delve deeper. Advocating the “right tool for the job”, but with different tools in mind, this volume shows the reader how to program databases, next-generation GUIs, and controlling devices. About the Author Richard Stones and Neil Matthew are the authors of the first edition of Beginning Linux Programming. They are both experienced software professionals with many years’ experience using and programming UNIX and Linux. They are also co-authors of the Wrox Press title, Instant UNIX. The other contributors are a multi-author Wrox writing team of professional developers. Excerpt. © Reprinted by permission. All rights reserved. CVS One of the things you should do at an early phase in your project is to set up a way of tracking changes to your project. This might just be the source code, or you might have some documents you wish to track as well. You should be tracking these items for two reasons: firstly so that you can discover what a build or document looked liked at some point in time, and secondly so that you can identify changes over time. Of course you could just copy items to duplicated directories, with names corresponding to the date, but such a simple solution quickly becomes unmanageable where multiple developers are involved, and the timescale is longer than a few weeks. If you are a developer working on your own, you may be tempted to think that source code control doesn’t offer you much; after all, no one else is going to change the code, so you have full control. However, even the best developers make mistakes occasionally and need to go back to previous versions. Users may report a bug introduced in a minor revision, and rather than just track it down in the traditional way, it might be much more productive to have a look at how the code has changed in the affected area since the last release before the bug appeared. A source code control system can be an invaluable aid in these circumstances, allowing the tracking of exactly when, and how, code was changed. Where there are multiple developers, the case is even stronger. Not only are there all the reasons that exist for single developers, but new and important reasons relating to peoples’ ability to see who has changed what and when – it’s then much easier to wind back changes in the event that another developer has ‘got it wrong’. Providing people properly comment their changes, it’s also possible to discover why they changed things, which can sometimes be very enlightening. In short, there are many very good reasons to use a source code control system, and very few excuses for not doing so, given the choice of quality free tools available on Linux.In this chapter we will: set up CVS explore using CVS to manage a project network CVS to enable true collaborative projects Tools for Linux Initially there was only one mainstream choice for source code control on Linux, which was RCS (the Revision Control System) from the GNU software tool set. Whilst RCS was, and still is, a very good and reliable revision control system, a lot of people (particularly on projects with several developers or with distributed development environments) have moved to use a newer tool – CVS, the Concurrent Versions System. CVS originated as a number of shell scripts in 1986. Today’s CVS code is mostly based on the work of Brian Berliner since 1989. There are three principal features that have allowed CVS to displace RCS as the tool of choice for managing changes to source code: Its ability to be configured easily to operate across networks, including the internet. Its ability to allow multiple developers to work on the same source file simultaneously, in many cases being able to merge changes made to a project by many different developers automatically. Its significant improvements, over RCS, in handling of collections of files. Add to this the fact that CVS is completely free, and you have a winning tool that you should probably consider learning how to use. In the course of this chapter, we’re going to have a look at: setting up and using CVS for a single user on a local machine setting up and using CVS for multiple-users across a network useful features and extensions to CVS, including network configuration and graphical clients CVS is a rather complex system, and we will not have the space in a single chapter to cover every last detail of its use. However, we hope to show sufficient details that 95% of your needs will be met. You should then be well placed to investigate some of the more obscure features of CVS, should your needs be more exacting than those we’ve had space to cover. In this chapter we will be concentrating on using CVS to manage source code. However you should remember that it’s just as effective at managing changes to test data, configuration files or the utility scripts that your project is using. Indeed all aspects of your project can be stored in CVS. CVS can also store your specifications, which are often even more valuable than the source code. However, if any of these are written in binary format, then you must tell CVS that the file is binary, and CVS will not be able to automatically report differences between versions. We will talk more about managing binary files later in the chapter. Read more
Reviews from Amazon users which were colected at the time this book was published on the website:
⭐This book is a solid followup to their first edition. What I like about it is its breadth. It covers several topics (CVS, PHP, XML, CORBA, MySQL/Postgresql ) that would often have a whole book devoted to them. This book targets the developer who just needs a concise primer on the given topics, and doesn’t have the time to read 1000 pages of fluff on every topic in the book.I only gave it four stars, because I felt that “Beginning Linux Programming” was more essential than this book. However, this is a very strong book and some of the topics here are not covered elsewhere ( for example, ORBit ). And there’s certainly no other book that covers *all* the topics this book covers.Get this, but get “Beginning Linux Programming” first.
⭐The best book about programming in Linux environment and for Linux. Simple language and a lot of real practice from authors. “Must have” for newbies in Linux programming.
⭐I bought the Beginners Guide to Linux Programming and I really liked that book. This book is a very good follow-up, but it doesn’t give the reader more programming tips.It covers many topics which makes this book a great reference for anyone who deals with Linux and even other flavors of Unix on a day to day basic. Buy this book if you are looking for a reference book on developing software on Linux that covers advanced topics.
⭐I have found this book to be the excellent follow-up to the Beginning Linux Programming title, with just a few remarks. I don’t like the title, more than “Professional” is it much more a second part of the first book, even if it discusses advanced topics. It’s just one book, so the view of different topics isn’t very thorough sometimes, it’s just the introduction. But the book is still great for this purpose, I liked it very much. I don’t have any access to my Linux box for a few months, so I wasn’t able to check the validity of source code provided.
⭐This book is a follow-up to Beginning Linux Programming, but with a wider range of authors. The book is a series of chapters on various tools and applications, all of them Open Source, based mainly round things that application developers might use, though there is a single chapter on device drivers.Most topics only get a single chapter, so there isn’t as much depth as you would find in a dedicated book on each topic, but there is a very wide range of material all covered in enough depth to get the more experienced programmer started with a new topic. There are one or two weaker areas, but overall a good choice of material succinctly presented for the more experienced application developer. I’ve given it 5 stars as it was exactly what I was looking for – a single reference to help me create a Linux-based web database application, your mileage may vary. I recommend you at least consider it.
⭐The biggest problem I have with this book is its weight. It’s just too big and clunky to hold up to read. Splitting into two bindings would have been nice. But it does cover a lot and it needs to be large to do so.
Keywords
Free Download Professional Linux Programming in PDF format
Professional Linux Programming PDF Free Download
Download Professional Linux Programming 2000 PDF Free
Professional Linux Programming 2000 PDF Free Download
Download Professional Linux Programming PDF
Free Download Ebook Professional Linux Programming