C++ In Action

C++ in Action

Industrial Strength Programming Techniques

by Bartosz Milewski

Proposed book cover

Instructions for browsing off-line.


  1. Preface
  2. Introduction
  3. Language
  4. Techniques
  5. Windows Techniques
  6. Software Project
  7. Appendix

Preface to the Web edition

This is a Web Book. It is being published on the Internet by me, the author. I realize that the technology is still not there--the technology that would make a web book as easy to read as its paper based relative. Computer monitors still lag behind paper in terms of resolution, portability and price. Fortunately, you won't need to spend hours connected to the Internet--there are easy ways browse the web off-line (see link above).

Thanks to Addison Wesley Longman, the book will soon appear in paper form (around May 2001). AWL agreed for me to keep this online version even after the book is published.

Other than that, a web book is a great thing for both the author and the reader (or, should I say, the user). For the author it offers a much richer medium. I can control the layout, the fonts, the colors and the pictures. Notice that most paper books are monochromatic--the few that offer color (especially throughout) are quite expensive. On the web, I can go crazy with colors, textures, fonts and pictures. Not that I'm planning to, mind you; I will try to strike a reasonable balance between a typerwriter copy and a tabloid.

But that's only the beginning. The web lets me do things that are quite impossible to do on paper. First of all, a web book is a hypertext document. I can embed jumps to related topics, embed links to in-depth explanations or author's own views--I can digress as much as I want. Second, I can let the reader download code samples and work with them off line. And third, I can add movement and sound to my book and I can make it interactive by embedding Java applets.

The hope is that all these enhancements will not only make the web book more interesting for the reader, but that they will help the learning process. More importantly, though, Industrial Strength Programming is part of a bigger, ambitious plan to transition programming into the 21st century. Since form should follow function, what's a better form for 21st century ideas than a web book?

From the financial point of view, a web book brings no direct revenue to the author, although it might increase trafic to the Reliable Software home page and help sell its products. But that's a blessing in disguise, because, having no marketing constraints, I can start publishing this book right now, as-is, and do it in increments (although the book is 90% written, it will take time to convert it to menaingful hypertext). Moreover, I can keep improving the book interactively--something a paper-bound author can't do without waiting for the next edition. It also means that I can accept feedback from readers and respond to legitimate criticism by simply fixing the book.

This is a good place to apologize to those whose web browsers don't support cascading style sheets (luckily, the two most popular ones do). I'm sorry, but publishing a web book without style sheets is just too much work. You can learn about style sheets by clicking the button at the top of this page.

Organization of this book

Code samples from this book are directly downloadable in zipped form. Every time you see an icon like the one on the left, you can click on it and download the source.

The image of a rotten apple will accompany sermons about bad programming practices and tips on how to avoid bugs.

Bartosz Milewski, Aug 1, 1997