BoostPro Computing

BoostCon 2008

Programming Power

Abstractions supplied by programming languages (e.g. classes, functions, loops) and by libraries (e.g. state machines, smart pointers) are the expressive tools of the programmer. As with any other medium of expression, it makes sense to start simply: draw in black and white before painting in color; practice arithmetic before calculus. In order to be effective with oils or integrals, one must first understand the nature of the medium: how to manipulate equations and the inverse relation of integrals to derivatives; how to mix and thin paints, and the impact of color on the viewer. Having developed a powerful relationship to the medium, the artist or mathematician can express powerful ideas in simple terms.

Often, rather than being encouraged to pursue expressive capability, programmers are advised or, even directed, to simply cut themselves off from a broad range of tools and idioms at their disposal. In the C++ world, this might be expressed a mistrust of exception handling, or templates, or libraries like Boost. The theory is that by using the simplest programming constructs and avoiding abstractions, code will be more understandable, maintainable, and correct.

Unfortunately, that theory breaks down in practice for all but the most trivial programs. To begin with, constraints on expression tend to stifle creativity and damage morale of the best programmers, which always interferes with productivity. Moreover, even if one were willing to pay in short-term productivity to get the supposed long-term simplicity benefits, the approach still backfires. When only the simplest tools are available, complexity that would otherwise be captured behind library or language abstractions falls into the code of the main program, and is commonly replicated where those abstractions would otherwise be reused. When the vocabulary of programmers is limited, they are forced to make their code more complicated to capture the inherent complexity in the project requirements.

At Boostpro, we believe that programmers can become powerful, articulate, and confident in their medium of expression. We are dedicated to helping them achieve that power through training in advanced idioms and by supplying strong library abstractions and that transform both the immediate experience of programming and the long-term viability of their work.

News

  • Changing Our Name

    Boost Consulting, Inc. to become BoostPro Computing.

    More...

  • BoostCon 2008: Early Reg. Deadline

    Early registration for BoostCon'08, the 2nd annual Boost Conference, closes on April 1. Register now to qualify for the “early bird” discount.

    More...

  • BoostPro Installer 1.34.1 Released

    Boost 1.34.1 is an important upgrade for users of the previous release, Boost 1.34.0, on Windows

    More...