    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: ACCU Conference 2005</title>
        <link>https://members.accu.org/index.php/articles/805</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 17, #3 - Jun 2005</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c96/">173</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;ACCU Conference 2005</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 02 June 2005 05:00:00 +01:00 or Thu, 02 June 2005 05:00:00 +01:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="section" lang="en">
<div class="titlepage">
<h2><a name="d0e1" id="d0e1"></a>ACCU Conference
2005</h2>
<h3>A Retrospective</h3>
</div>
<div class="c1"><img src="/var/uploads/journals/resources/accuconference.png" align=
"right"></div>
<p>April 2005, and hundreds of techies - from Goths to
mild-mannered janitors, hardcore C++ programmers to eager students
- converged in Oxford for the annual ACCU conference, a feast of
technical learning, peer-to-peer discussion, and plenty of
late-night drinking. This short article is an attempt to describe
the event to those who missed it, to act as nostalgia for those who
were there (and sober), or to inform those who were there (but
drunk) what they missed.</p>
<p><span class="inlinemediaobject"><img src=
"/var/uploads/journals/resources/accuconferencesnaps.png" align="left"></span>As last
year, the conference was held in the impressive setting of the
Randolf hotel. This met with mixed reactions - many prefer such a
central Oxford location, although for others it's far too difficult
to reach. Many dislike the prices at the bar, others hardly
noticed. The Randolf certainly added a grand &quot;atmosphere&quot; to the
event. Airconditioning was a happy improvement over last year's
oven-like conditions, although the lunchtime fare wasn't vastly
superior (and seemed to be an exercise in covering your clothes
with mayonnaise: don't ask).</p>
<p>The line-up of speakers was excellent, and the coverage of
subject matter was broad. There were tracks devoted to languages
(C++, Java, Python, with .NET material too) and also to process and
security - something for everyone. Speakers included industry
luminaries like Bjarne Stroustrup, Jim Coplien, and David Abrahams,
as well as numerous people from the ACCU ranks. The four day
timetable1 was packed with talks, seminars, panel discussions,
vendor presentations, evening events, and more.</p>
<p>A large part of the ACCU conference is the chance to meet up and
socialise with fellow programmers. This was carried out with aplomb
after the day's festivities (and often continued into the early
hours of the next day). The conference is a great opportunity for
ACCU members to put names to faces, to insult one another (who was
'chav'?), and to exchange war stories. The now-regular events:
Blackwell's evening reception and the speaker's banquet, provided a
great chance to mingle and meet different people.</p>
<p>To give you a flavour of what went on this year, a few people
have provided their views on the event. First up is Timothy Wright
- an ACCU conference virgin. These are his thoughts on the
event:</p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;This was the most inclusive and interactive conference that I
have been to. There were nightly group outings to dinner and the
pub and everyone was welcome. Sometimes we overwhelmed the
restaurant. I met many people who post on accu-general and it was
good to put names with faces. The conference had two main benefits
for me. The quality of the talks and the presenters, and the
ability to mingle and talk to others. Some of the key points I took
from the talks are:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>That bugs and security issues in software can be classified by
mean time to bug - how long it takes to find a particular issue.
The security talk on this subject brought me back to college since
the professor used handwritten viewgraphs which were hard to see
from the back of the room.</p>
</li>
<li>
<p>There are significant differences between the implementations of
generic programming in Java, C# and C++, and they have to do with
specific design goals.</p>
</li>
<li>
<p>Concurrency is hard; even the experts get it wrong
sometimes.</p>
</li>
<li>
<p>There is some cool stuff coming in the C++ 0x standard including
concepts, move semantics, class extensions etc. Many of these new
features are designed to help the beginner or part-time programmer
and to remove the necessity to become an expert and learn the
tricks. Unfortunately, we will have to wait for 2009 for the
standard and 2011 for a compliant compiler.</p>
</li>
<li>
<p>You too can extend the iostreams with a few simple rules.</p>
</li>
<li>
<p>That symmetry is good except for when it is bad.</p>
</li>
<li>
<p>That software development is learning. However it does matter
how you define knowledge and learning especially if Coplien attends
the talk.</p>
</li>
<li>
<p>If you want to sit down in a talk, you must arrive early.</p>
</li>
<li>
<p>That software is really about solving business problems not
about applying object-oriented techniques. It is about writing
specific software not general software.&quot;</p>
</li>
</ul>
</div>
</blockquote>
</div>
<p>Mick Brookes, another conference newbie, offered these thoughts
on some of the presentations he went to. The first, Kevlin's
Consolidated C++, was from the one-day pre-conference schedule:</p>
<p><span class="bold"><b>Kevlin Henney - Consolidated
C++</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;Kevlin first explained about the session name - apparently it's
difficult to convince programmers (and their managers) that an
'Intermediate' C++ course is going to be useful, but he couldn't
bring himself to contribute to a name inflation problem and go with
'Advanced'. He then lead us through a number of topics: Value-based
programming, an Intro to Templates, Encapsulation and Cohesion,
Generic Programming, and Class Hierarchies. Along the way, he was
quick to show us just where things could be improved in the C, C++
and CORBA standards, and taught us never to feel embarrassed about
pulling a door marked push.</p>
<p>The audience had varying levels of experience with C++, but I'm
sure that everybody learned something new, and had to re-examine
some of what they thought they understood. Down in the shallow end,
I was thrown enough familiar material to feel safe about being
stretched in the areas I had less experience with. 7 hours clearly
wasn't long enough, with a whole section on exception handling
having to be cut, but I still think it'll take me at least 6 months
to absorb everything raised on the day and in the notes.&quot;</p>
</blockquote>
</div>
<p><span class="bold"><b>Paul Grenyer - Aeryn: C++ Testing
Framework</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;Paul gave us a bottom-up introduction to Aeryn, his new
lightweight testing framework, starting with test conditions and
building up to named test sets. Not only did he explain the
features, he took the time to explain why they'd turned out that
way - going so far as to challenge us with, &quot;Aeryn uses macros,
anyone got a problem with that?&quot; Thinking about it now, I'm sorry
nobody spoke up (I think the accompanying glare put us off...) -
Paul must've been ready to put us all straight, and I'd definitely
have learned something. He showed us how customizing the result
reporting format only requires plugging into a simple interface,
and then explained how Mock Objects can help break dependencies in
test code and speed up the feedback loop.</p>
<p>Aeryn has a feature that blew me away: if an object being tested
is streamable, the test output streams it; otherwise we get a
sensible default. Paul and Richard Harris helped show me how this
magic worked after the session - giving me a first taste of
SFINAE.&quot;</p>
</blockquote>
</div>
<p><span class="bold"><b>Allan Kelly - Viewing Software Development
as Learning</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;To write software, we must learn the problem domain, and lots
of technical skills, and lots of process skills. The act of writing
software enables ourselves and our customer to learn more about the
problem, and often leads to changes in requirements. Allan used
this session to present his ideas on learning, and on how
acknowledging the big role it plays allows us to improve the
development process. He suggested that books and presentations etc.
are mere information until they're acted upon, and that the action
allows learning to take place, turning information into knowledge.
This means that learning and change are closely connected, and that
separating them can be unproductive. Allan's presentation resulted
in a lively discussion with the audience (see www.allankelly.net),
and revealed that lots of people seem to be worried about learning
stuff that's just wrong.&quot;</p>
</blockquote>
</div>
<p>Mark Easterbrook, a conference regular, had these thoughts on
some of the specific presentations:</p>
<p><span class="bold"><b>Herb Sutter - Genericity in .NET, Java and
C++ (2 sessions)</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;An excellent presentation by Herb comparing generic programming
implementations comparing and contrasting Java, C#/.NET, C++
generics in .NET and C++ templates. This was in typical Sutter
style switching between presentation slides, a code editor and the
command line, and between Microsoft and Linux. This session
provided two of the humorous moments of the conference: there was
no obvious way that Herb was changing slides in the presentation so
someone asked how - the answer was that he had a remote mouse in
his trouser pocket, to which someone had to ask what he was
operating it with. Later, after one of Herb's jibes at Microsoft, a
mobile phone rang in the audience, and someone was quick to call
out &quot;It's Bill&quot;.&quot;</p>
</blockquote>
</div>
<p><span class="bold"><b>Prince/Schneider - 90 minutes from the
end</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;The sub-title for this partly interactive presentation was
&quot;Patterns for the end game&quot;. Although the presenters' intent was to
cover the problems that occur at the end of projects and how to
overcome them, much discussion ensued as to whether they were
really end-of-project problems and solutions. If a problem occurs
at the end due to mistakes earlier on, it is not really an end-game
problem, this is just where is manifests itself. Likewise, problems
that can occur anywhere, but are much more serious or obvious
towards the end, are not end-games problems, just more visible
then. The prepared conclusions backed up the discussions in that
end-game planning is just part of the overall project
management.&quot;</p>
</blockquote>
</div>
<p><span class="bold"><b>Matthews - Concurrency
Requirements</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;Hubert started by explaining that concurrency problems are
rarely found in the real world - you never see two skeletons locked
in a deadly embrace - so they are a machine issue for which we have
no natural ability to understand. Also, concurrency is rarely an
explicit user requirement - it is an issue in solution space rather
than the problem domain. Traditional and contemporary methods of
writing correct software and proving it correct such as unit
testing, invariants, pre- and post-conditions, and regression
testing don't work for concurrency because the problem is temporal,
rather than sequential, and a change in the timing can radically
change the outcome. Hubert covered a number of real world examples
to demonstrate there is no obvious solution, and maybe no solution
at all. There was considerable discussion during and after the
presentation indicating considerable interest and concern about the
subject. This was a thought provoking presentation about a subject
we are likely to hear much more about in the future.&quot;</p>
</blockquote>
</div>
<p><span class="bold"><b>Vollmann - Threads considered
Harmful</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;Detlef aimed to dispel any remaining thoughts that concurrency
is anything but very difficult. First he recalled the number of
experts who thought they had solved concurrency and then were
proved wrong - often after publishing a &quot;definitive&quot; book! Then he
showed how the atomic operations required by concurrency (e.g.
popping off a stack) are opposite to the requirements of exception
safety provided by the STL (top(), void pop()) - you cannot have
both thread safely and exception safety in the same operation. He
peppered his talk with practical demonstrations of a Mandlebrot
graphics GUI window with concurrency &quot;solutions&quot; and either their
failure to solve the initial problem or how the new problems they
introduced were worse than the original problem. Discussion and
questions at the end overran the time allocated suggesting that
this is a subject of great interest and concern to a lot of
developers.&quot;</p>
</blockquote>
</div>
<p><span class="bold"><b>Henney - It's all geek to
me.</b></span></p>
<div class="blockquote">
<blockquote class="blockquote">
<p>&quot;Kevlin hosted an interesting and lively finale to the
conference in the form of a lively panel quiz with considerable
audience participation. The last slot on Saturday is a difficult
one to fill - many delegates need to leave early to catch transport
links and those left are often flagging from long days and even
longer evenings! Both an endnote and running normal slots have been
tried in the past and some alternative was sorely needed. This was
the right ending, and the right person to present it - Kevlin took
no prisoners, even the conference chair was not spared as he tried
to keep score to many decimal places as whole, fractional and
sometimes decimal points were awarded, and sometimes taken away.
Some of the subjects covered were literature (C++ standard to the
Hitch Hikers' guide to the Galaxy), people (Dennis Ritchie's middle
name), and guess how the audience will vote on a vague question.
Fortunately the four panellists walked away with some decent prizes
that Kevlin had managed to extract from the sponsors, so their
humiliation was not totally in vain.&quot;</p>
</blockquote>
</div>
<p>This gives a flavour of the range and quality of material
presented this year. With over 70 sessions there was a lot to take
in.</p>
<p>All the attendees owe a debt of gratitude to the conference
committee, the event organisers, to the speakers, and to all who
made this year's conference what it is. If you haven't been before,
then I hope that this article enthuses you - I'll see you there
next year!</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
