ACCU 2006 Programme highlights
We have a great programme for you to enjoy and participate in. The ACCU Conference boasts an impressive technical programme, with tutorials, workshops and discussions on C++, Agile methods, Patterns and Python. This year's event features keynote talks by Herb Sutter, Guido van Rossum, Hubert Matthews and Helen Sharp.
For all professional software developers, this is a key event allowing them to take a few days out to catch up on the latest developments in languages, tools and development methodologies and to learn from the very best. A few of the highlights of the programme are:
Michael Feathers - Working with C++ as if Unit Testing Mattered
The practice of Test-Driven Development (TDD) has
started to spread throughout the industry. Teams that have
adopted it have noticed that the test coverage it provides makes code
change easier and more deterministic. Unfortunately, TDD has not
become popular yet in the C++ community. There is a lot of
existing C++ code that is nearly impossible to test at the unit
level. The problems include (but are not limited to) overly long
functions, embedded static references, embedded object creation, lack
of abstraction, and static construction dependencies. In this
hands-on tutorial, you will learn a series of techniques that you can
use to systematically and safely break dependencies to get C++ code
under test. We will also discuss the genesis of some of these
problems and ways of avoiding them in the development of new code.
Peter Sommerlad - Only the Code tells the Truth
This workshop will analyze the sentence "Only the Code tells the Truth" and try to collect from participants their impression and implications of it. It can be read both as an explanation of and as a guidance for writing of programs. The goal of the workshop is to collect aspects of such guidance for programmers that help them writing code that actually tells useful things about itself. In the opinion of Peter, getting that sentence and its implications into a developers subconciousness will lead to better software, but he is willingness to hear opposition in the workshop.
Jutta Eckstein - Retrospectives: Project Success with continuous Course Corrections
Retrospectives are a basic requirement for an agile
approach. With the help of retrospectives you will be able to detect
problems early and make corrections in an easy manner - both is
required for the success of your project. In this session
you will learn concrete retrospective techniques, the different kinds
of retrospectives and when to apply retrospectives in order to be
successful.
Kevlin Henney - STL Patterns: A Design Language of Generic Programming
Patterns offer an effective way of capturing idioms, allowing programmers a way of communicating and reasoning about their designs through a structured design vocabulary. However, many C++ programmers are trapped in a view of patterns that extends only as far as, or not much further than, the 23 twelve-year old Gang of Four patterns. Useful and seminal as these are, they do not provide the modern C++ developer with a sufficient vocabulary to communicate and reason about their designs.
This tutorial focuses on the generic programming concepts expressed in and around the Standard Template Library, communicating these as C++-specific patterns and connecting them together to form a language that describes the design and use of the STL, illustrating how generic programming is more than simply programming with templates.
For the STL literate this tutorial offers a different way of looking at the STL and an introduction to more advanced pattern concepts. For the pattern literate this tutorial offers an example of applying pattern concepts to an existing and understood library.
Evolution of C++ track
The Evolution of C++ track consists of a number of presentations relating to the current plans for the next version of C++ (code named C++0x and currently aimed at final release in 2009, which means that all the major parts will be in place by autumn 2007 at the latest) .
There will be a report on the changes and additions that have already been agreed on, and in addition there will be a presentation from Dietmar Kuehl on the subject of Concepts.
Dynamic Languages track
A full day of sessions on a variety of dynamic and scripting languages, featuring Russel Winder on Groovy, Dan North on Ruby, and Jan-Klaas Kollhof on JavaScript.
Collaboration track
The Collaboration track looks at the problems and possible solutions for teams working in a distributed environment. The track is strongly focussed on case studies.