Software Development, Santa Clara, March 3 – 7
------------------------------------------------------------
Dan Saks (http://www.dansaks.com) and I will be giving a new full-day
tutorial:
"Sooner Rather Than Later: Static Programming Techniques for C++"
Abstract:
In a perfect world, only correct code would compile, and compiled code
would be self-documenting. Although it's not possible to attain these
goals, you can approach them by using compile-time techniques that not
only enforce constraints, but document them in the code. This tutorial
examines a number of static design and coding techniques that allow
the compiler to check and document constraints in our code, typically
without runtime overhead. We'll focus primarily on facilities you
should use, such as static assertions, constant expressions, type
traits, writeonly wrappers, template partial specialization, SFINAE
and more. We'll also look at what you should avoid, such as type sinks
and preprocessor conditionals. We'll also preview forthcoming features
of TR1 and C++0x, including generalized constant expressions, type
traits, enum classes, and static_assert. Finally, we'll discuss
general design principles that avoid losing static information while
preserving a design's flexibility to adapt itself to the various
static contexts in which it is used. Throughout, we'll show how
increased static information about your code can not only increase its
correctness, but also increase its efficiency.
I'll also be giving three 90-minute talks:
C++ Hierarchy Design Idioms
Flexible Memory Management in C++
Welcome Visitors
Descriptions of tutorial and talks may be found at
<https://www.cmpevents.com/SDw8/a.asp?option=G&V=3&id=568089>.
SOURCE: Boston, March 12 – 14
------------------------------------------
I'll be speaking on "The CERT C++ Secure Coding Standard" Thursday
morning. Details are at <http://www.sourceboston.com>.