Professional C++ Paperback – Jan 21 2005
|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
C++ is one of the most popular programming languages, but this fast and powerful language is also notoriously complex. Many useful aspects of C++ remain a mystery to even the most experienced programmers. Too often, programming books concentrate more on the syntax of the language and less on its real-world applications. This code-intensive, practical guide changes that by teaching all facets of C++ development, including effective application design, testing, and debugging. You'll learn simple, powerful techniques used by C++ professionals, little-known features that will make your life easier, and reusable coding patterns that will bring your basic C++ skills to the professional level.
After a quick review of C++ fundamentals, the authors launch into teaching you how to use C++ in your daily work. They show you various programming methodologies and good programming style, as well as ways to increase the quality of your code and improve your programming efficiency. You'll discover how to write cross-language and cross-platform code, how to perform unit testing and regression testing, and how to use the standard C++ library. By the end of the book you'll be armed with a wealth of reusable coding patterns that can be applied to all your projects.
You will be able to master the C++ language with all its idiosyncrasies, and take advantage of its powerful capabilities for large-scale software development.
What you will learn from this book
- Different programming methodologies and high-quality programming styles
- Ways to take advantage of C++ for large-scale software development
- Methods to ensure bug-free code
- An appreciation for object-oriented design
- How to use libraries and patterns to write better codewith less work
- The best ways to manage memory in C++
- Techniques for input and output
Who this book is for
This book is for programmers and developers who want to take their C++ skills to the professional level. Some knowledge of basic C++ or significant experience with C and/or Java is required, as well as a solid foundation in programming fundamentals and familiarity with a compiler.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
Nicholas A. Solter studied computer science at Stanford University, where he earned bachelor of science and master of science degrees, with a concentration in systems. While a student, he worked as a teaching assistant for several classes ranging from introductory computer science for nonmajors to an upperdivision course on group projects and software engineering.
Now a software engineer at Sun Microsystems, Nick programs primarily in C and C++ in his work on high-availability software. His previous work experience includes several stints in the computer game industry. At Digital Media International, he was the lead programmer on the multimedia educational game, The Land Before Time Math Adventure. During an internship at Electronic Arts, he helped develop the Course Architect 2000 golf course–editing tool for the Tiger Woods PGA Tour 2000 game.
In addition to his industry experience, Nick taught C++ for one year as an adjunct professor of computer science at Fullerton College. When not working, Nick enjoys reading, playing basketball, taking care of his son Kai, and spending time with his family.
Scott J. Kleper began his programming career in elementary school, writing adventure games in BASIC for the Tandy TRS-80. As the resident Mac geek at his high school, Scott moved to higher-level languages and released several award-winning shareware applications.
Scott attended Stanford University, where he obtained bachelor of science and master of science degrees in computer science, with a concentration in human-computer interaction. While in college, Scott served as a teaching assistant for classes involving introductory programming, object-oriented design, data structures, GUI frameworks, group projects, and Internet programming.
Since graduating, Scott has served as a lead engineer on the founding teams of several companies and is currently a senior software engineer at Reactivity, Inc. Outside of work, Scott is a compulsive online shopper, an avid reader, and an awful guitarist.
Top Customer Reviews
We wrote this book with the following principles in mind:
* Style matters. You can know everything about C++ and still write lousy C++ programs if you don't pay attention to style.
* Focus on what's important. If a language feature is obscure and rarely useful, we'll tell you so. C++ is a huge language. The way to master it is to focus on the important parts.
* Real-world examples are better. We've minimized the number of "toy" examples and leaned more towards example code that you could actually use in your programs.
* Reusable patterns lead to better coding. Throughout the book, we'll highlight techniques that occur repeatedly in C++ programs and design patterns that you can re-use.
This book is perfect for programmers with some basic C++ skills who are looking to land a C++ programming job or embark on a C++ project. If you are experienced with C or Java, this book is a great way to get into C++ without reading through hundreds of pages of stuff you already know.
Most Helpful Customer Reviews on Amazon.com (beta)
Coming into this with extensive C and other programming experience, including some C++ many years ago, this book was ideal for me. I especially appreciated the authors' ability to give a very good foundation for developing well-designed, robust C++ code. I went from a very solid C programmer to developing using a new C++ mentality in a couple of weeks.
The authors are obviously quite experienced and knowledgeable in C++ and OOP, and write in an enjoyable, easy-to-follow manner. They don't just present C++, they discuss every aspect of how to develop great code using C++. They take a very reasonable and competent approach to coding, pointing out pitfalls and providing much guidance together with good explanations of their reasoning. This book doesn't just tell you how you can do something in C++, it explains how to do it well.
Professional C++ is for an intermediate to advanced programmer with either some C++ experience or a good deal of other programming experience. It is not meant to be an exhaustive exposition of C++ (although it does cover all the basics of the language), but it is certainly sufficient to get a developer not only up and coding, but doing so with better style and more competence than many seasoned C++ professionals.
Some of the many topics I found interesting and useful include: code reuse, software engineering methods (including a several page synopsis of extreme programming), exceptions, STL, frameworks, and design patterns. On some important topics that could be books in themselves, enough material is presented here to give the reader a basic understanding of the subject and an awareness of the issues so that the reader can decide whether to pursue the subject further.
Although this book was all I really needed to get up and going, I found a couple other books also quite helpful, in particular "Object Oriented Design Heuristics" by Arthur J. Riel and the new third edition of "Effective C++" by Scott Meyers.
The book is indeed superficial in many covered topics but in depth coverage would require dozens of books. On each and every topic be that templates, STL or distributed programming there are many more advanced books. However if all you need is a quick reference or an example this book is unbeatable.
Nowadays one year old book looks old and I personally reluctant to buy such outdated books. But this book is very well done and can be useful for quite a few years.
The comments clearly reflect autors' opinions and personal recomendations on several subjects, which in turn provide more value to the book and sometimes help the reader in not feeling annoyed at some issues. For example, on page 322 you may read (on the subject of templates):
"...The concepts can be difficult to grasp when you are first exposed to them, and the syntax is so tricky that the authors of this book consult a reference whenever they want to write templates....". I think that's a very helpful "confession" from an prof. programmer to a beggining reader.
The book's objective is twofold: being a tutorial of the most useful aspects in typical C++ related proyects, and being a reference on broad subjects of the language and programming in general (but is not an exaustive or detailed reference for every construct or library class feature: use the Internet for that.) In sum, the authors are trying to "convert" the reader in a good programmer and that is really beyond the language syntax.
Obviously, with the (too?) big number of subjects considered, a lot of people may feel that some of them are considered too superficially (me included at times.) For example, why to provide an introduction to SOAP (wikipedia may be better) without actually providing a C++ related sample or concept? Another "subjective" complaint is the lack of GUI-related material (I think the number of people having to deal with GUIs is larger than the number of people having to deal with, for example, XML; and XML is well discussed, not being a C++ specific.)
Overall this book was really useful to me and I believe has a lot to provide for most people trying to do some serious work with C++.
Look for similar items by category
- Books > Computers & Technology > Programming > C
- Books > Computers & Technology > Programming > Languages & Tools > C
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Computers & Technology > Software
- Books > Textbooks > Computer Science & Information Systems > Programming Languages