C++ In Action: Industrial Strength Programming Techniques
Indeed, why YABOC11 (Yet Another Book on C11)? There are already many excellent books describing all imaginable aspects of C11. As far as learning the language and all kinds of programming tricks, the market is pretty much saturated. This book is not a language reference or a collection of clever tricks and patterns. This book is about programming.
Teaching programming is very different from teaching a language. A programmer is usually faced with a problem that he or she has to solve by writing a programâ€â€not with a language feature whose use he or she wants to illustrate. In this book I try to show, as much as possible, how to use the language as a tool to solve programming problems.
I center the presentation around various software projects. In each project I first describe a problem to be solved. Then I discuss what the program should do, what it should look like, and how it should react to user input. Based on that I build a scaffolding that captures the structure of the program without implementing its functionality. Finally, I implement the functionality, component by component.
But programming doesn’t stop there. What follows in this book is a long series of code reviews each followed by a rewrite. “How can this be done better?” is a question a programmer asks himself or herself constantly. And then another question becomes more and more relevant, “How do I write code that can be easily revised?”
In programming, as in life, there is never a single way to do something. That’s why being able to argue about various solutions is extremely important. Programmers who don’t know how to argue end up bitter and frustrated. I remember my own frustrations when faced with an argument like, “Because it’s always been done like this.” In this book I argue a lot. I try to find the pros and cons of every solution, and in many cases I manage to settle on something I consider “elegant.” However, I never use elegance as an objective criterion. I believe that one can always uncover some very practical arguments that are hidden behind the subjective impression of “elegance.” An elegant solution in many cases catches a very good abstraction or generalization. It results in code that is easy to understand, modify, and debug.
Finally, in this book I emphasize the human factor in programming. My credo is “programs are written for programmers, not computers.” Programmers want to write better programs not in order to make them more understandable to computers, but to make them more readable to humans. Program maintenance is impossible without program understanding. This may seem like an obvious thing to say, but many programmers overlook this self-evident truth.Why You?
Password: www.ebooksportal.org
Random Posts
- Organizational Patterns of Agile Software Development - Prentice Hall
- Tricks of the Ebay Masters 2nd Edition - Que
- JPEG2000 Standard for Image Compression: Concepts, Algorithms and VLSI Architectures - Wiley Interscience
- Real Time Digital Signal Processing Implementations and Applications - Sen M. Kuo
- Mastering PhpMyAdmin
- Business Continuity and Disaster Recovery for InfoSec Managers
- Special Edition Using Outlook 2003
- Managing Business in a Multi-channel World Success Factors for E-business
- U.S.News & World Report News 21 April 2008
- The Definitive Guide to MySQL Second Edition - APress
















