The Official Ubuntu Book
Author: Benjamin Mako Hill
Ubuntu is a complete, free operating system that emphasizes community, support, and ease of use without compromising speed, power, or flexibility. It's Linux for human beings—designed for everyone from computer novices to experts. Ubuntu 8.04 LTS (Long Term Support), a.k.a., "Hardy Heron," is the latest release—more powerful, more flexible, and friendlier than ever. The Official Ubuntu, Third Edition, will get you up and running quickly.
Written by expert leading Ubuntu community members, this book covers all you need to know to make the most of Ubuntu 8.04 LTS, whether you're a home user, small business user, server administrator, or programmer. The authors covers Ubuntu 8.04 LTS from start to finish: installation, configure, desktop productivity, games, management, support, and much more. Among the many new topics covered in this edition: the new Edubuntu and the brand new Kubuntu Remix including KDE 4.
The Official Ubuntu Book, Third Edition, covers standard desktop applications, from word processing, spreadsheets, Web browsing, e-mail, instant messaging, music, video, and games to software development, databases, and server aplications. In addition, you'll
• Learn how to customize Ubuntu for home, small business, school, government, and enterprise environments
• Learn how to quickly update Ubuntu to accommodate new versions and new applications
• Find up-to-the-minute troubleshooting advice from Ubuntu users worldwide
• Learn Ubuntu Server installation and administration, including LVM and RAID implementation
• Learn about Edubuntu—Ubuntu optimized specifically for the classroom
The DVD includes the complete Ubuntu Linux operating system for installation on PC platforms, preconfigured with an outstanding desktop environment for both home and business computing. It can be used to install other complete variants of Ubuntu including Kubuntu (with the KDE environment), and Edubuntu (for use in schools).
Interesting textbook: The 4 Hour Workweek or Before You Do
The C++ Programming Language
Author: Bjarne Stroustrup
NOTE: Customers of this book, Errata for page 833 is now available in pdf form and can be downloaded from this page.
This is a complete rewrite of the most widely read and most trusted book on C++. Based on the ANSI/ISO C++ final draft, this book covers the C++ language, its standard library, and key design techniques as an integrated whole.
The C++ Programming Language provides comprehensive coverage of C++ language features and standard library components. For example:
- abstract classes as interfaces
- class hierarchies for object-oriented programming
- templates as the basis for type-safe generic software
- exceptions for regular error handling
- namespaces for modularity in large-scale software
- run-time type identification for loosely coupled systems
- the C subset of C++ for C compatibility and system-level work
- standard containers and algorithms
- standard strings, I/O streams, and numerics
With this third edition, Stroustrup makes C++ even more accessible to those new to the language while adding information and techniques that even expert C++ programmers will find invaluable.
Get a value-added service! Try out all the examples from this book at codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser.
0201889544B11102003
Victor J. Duvanenko
There is absolutely no doubt that Bjarne Stroustrup's The C++ Programming Language, Third Edition is a must-have book. If you are programming in C++, you will refer to it every other day. If you are learning C++, you need to dedicate time to read one chapter a week. This third edition is much more approachable than its predecessors and has gems of insight sprinkled throughout. Furthermore, it includes a good introduction to Standard Template Libraries (STL) and describes the various new C++ features...the book is very well done, and we thank Bjarne Stroustrup for his tireless effort for over a decade to improve the lives of programmers.
Dr. Dobb's Electronic Review of Computer Books
Booknews
Stroustrup, creator of C++, covers standard C++ and the key programming and design techniques supported by C++, including every major language feature and the standard library. Suitable for those new to the language while adding advanced information and techniques for the more advanced programmers, this hardcover edition includes two new appendixes on locales and standard library exception safety. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Victor J. Duvanenko
The Gospel According to Bjarne
Bjarne Stroustrup's The C++ Programming Language, Third Edition (Addison-Wesley, 1997) has been available for several months. This work, by the creator of C++, is the definitive treatment of the subject and has been since its first edition in 1987. I must confess that I did not care for the first edition. I had expected a tutorial approach as elegant as the classic K&R white book. But then, K&R was about C, a programming language that supported a familiar programming model. The C++ programming model was new to most of us ten years ago, and Stroustrup's first edition was daunting, to say the least. Looking at it now, I find it far less so and much easier to read.
Comparing the first and third editions of The C++ Programming Language provides insight into how the C++ language has grown and changed in the past decade. The third edition has almost three times the number of pages and a slightly different organization. Whereas the first edition included a 67-page language reference manual at the end, the third edition includes only a language grammar section to represent formal language definition. This is appropriate. The ANSI/ISO Standard document, which is now the formal language and library definition, is itself about 750 pages long. Stroustrup plans to publish The Annotated C++ Language Standard (coauthored by Andrew Koenig, the ANSI C++ committee's Project Editor) sometime this year.
The third edition takes a tutorial approach with many of Stroustrup's personal programming philosophies. The author's explanations of how he uses language features provide examples for learning the behavior of those features. He also explains code idioms that some programmers routinely use but that he finds inappropriate.
As much as possible, the third edition reflects Standard C++. When small language features are found to be missing, particularly new ones, Stroustrup pledges to add them to a future printing.
The book includes many code examples. There is no diskette or CD-ROM, because Stroustrup avoids a teaching approach wherein readers compile and run examples. His examples are mostly code fragments that demonstrate the points he makes and the issues he addresses. The code fragments are readable, meaningful, and neither frivolous nor cute, and since you do not compile them, you need not worry that your compiler does not fully support Standard C++. There are four parts to the body of the book: "Part I: Basic Facilities;" "Part II: Abstract Mechanisms;" "Part III: The Standard Library;" and "Part IV: Design Using C++." Even if you are already a seasoned C++ programmer, Part IV, which is a rewrite of several chapters from the second edition, is worth the price of the book. It describes Stroustrup's philosophies on the design and development cycle of a software project involving C++. In his words, Part IV aims "to bridge the gap between would-be language-independent design and programming that is myopically focused on details."
The three appendixes are: "A: The C++ Grammar;" "B: Compatibility;" and "C: Technicalities." Appendix B discusses the differences between C and C++ and explains how the languages have become more compatible over time. Some of this convergence results from changes being made to the C specification (double-slash comments and no implicit int, for example). The appendix also discusses the issues related to porting C++ code from older C++ implementations, advising that, where possible, you should use the latest implementation of a compiler so that newer features are available to you.
Appendix C is about technical details that a programmer faces that are not necessarily language issues. I particularly like the discussion on the problems associated with traditional multidimensioned arrays as compared to using STL containers to achieve the same result without the headaches.
This book is an essential addition to a C++ programmer's library. It is not for dummies, and it wouldn't be my first choice for an entry-level, self-help tutorial on C++ for beginning programmers. It is, however, an excellent textbook for programmers who are self-motivated and students who study under the watchful care of a skilled instructor. As an experienced C++ programmer, I find the book useful as a reference to language usage and behavior. The author invented the language and then stayed close to the standardization and innovation process for the duration, always maintaining a careful vigilance over the evolution of his brainchild. Consequently, this book serves, for those who do not care to pore over the ANSI/ISO document (or the promised annotated version), as the authority on the Standard C++ language, how it works, and how you should use it.--Dr. Dobb's Electronic Review of Computer Books
Table of Contents:
| Preface | |
| Preface to Second Edition | |
| Preface to First Edition | |
1 | Notes to the Reader | 3 |
2 | A Tour of C++ | 21 |
3 | A Tour of the Standard Library | 45 |
4 | Types and Declarations | 69 |
5 | Pointers, Arrays, and Structures | 87 |
6 | Expressions and Statements | 107 |
7 | Functions | 143 |
8 | Namespaces and Exceptions | 165 |
9 | Source Files and Programs | 197 |
10 | Classes | 223 |
11 | Operator Overloading | 261 |
12 | Derived Classes | 301 |
13 | Templates | 327 |
14 | Exception Handling | 355 |
15 | Class Hierarchies | 389 |
16 | Library Organization and Containers | 429 |
17 | Standard Containers | 461 |
18 | Algorithms and Function Objects | 507 |
19 | Iterators and Allocators | 549 |
20 | Strings | 579 |
21 | Streams | 605 |
22 | Numerics | 657 |
23 | Development and Design | 691 |
24 | Design and Programming | 723 |
25 | Roles of Cases | 765 |
App. A | The C++ Grammar | 793 |
App. B | Compatibility | 815 |
App. C | Technicalities | 827 |
| Index | 869 |