Consultancy

Training

Follow russel_winder on Twitter

Mon, 16 Apr 2007

ACCU 2007 Conference

Last week was the ACCU 2007 Conference and it was as good as ever. Serious praise to Ewan Milne, Julie Archer and all the rest of the conference committee for organizing such an enjoyable event.

Although the origins of ACCU is in C and C++ programming, Python, Ruby and Groovy are all well represented in the talks as well. As are higher level issues such as design patterns. It is generally a mix of very high quality development people taking things seriously and having a lot of fun.

I gave two presentations:

As you can imagine from the title, the first was intended to be contentious. The room was full to bursting and included many from the BSI C++ Standard Committee and some from WG21 (the ISO C++ Standards Committee, which is meeting this week in exactly the same hotel we had the conference last week – this is by design not by accident). I opened with a variation on a Shakespeare quote:

Friends, ACCUers, programmers, lend me your prejudice
I come to bury C++, not to praise it
The evil that languages do lives after them
The good is oft interred with their compilers
So, let it be with C++.

However, in the end I got far less heckling than I expected, almost none in fact. The session was nicely interactive, but no heckling. I guess I should have been more controversial. In case you are wondering, my basic messages were:

Alan Lenton had promised to organize a lynching party, but people got too excited about the language debate, which at no time descended into flaming or language wars, and completely forgot, so I made it out. I really enjoyed the session, I hope the attendees did.

The second session was really trying to excite people about domain specific languages (DSLs) as tools for systems development. The core concept is that programming is about constructing a language in which to easily express the solution to a problem. Currently programming is creating the classes or functions to solve the problem, a side-effect of which is to construct a language to describe that solution. The “DSL Way” is to construct a domain specific language, a side effect of which is a solution to the current problem. People generally think you need a dynamic language (e.g. Python, Ruby, Groovy) to create a DSL, and indeed these languages are very good for creating DSLs. However, it is important to remember that C++ is also a very good language for creating DSLs – yes, the irony of being positive about C++ in this talk and negative about it in the previous talk is not lost on me.

I have made the slides and some of the code materials available:

Slides (PDF) Other materials
C++ has no useful purpose Factorial and Mailshot code
Builders: How MOPs make life easy Examples and Presentations code


C++ is turning into one of those great conspiracies.  All the people involved with it are, at least secretly, realizing that party is over.  However they all have too much invested in the language to admit it in public.

As I said several times at the conference the C++ 200x will soon displace the 1983 Labour Party manifesto (http://en.wikipedia.org/wiki/The_longest_suicide_note_in_history) as the "Longest Suicide Note In History."
Posted by allan at Wed Apr 18 21:59:48 2007

Name:


E-mail:


URL:


Add 18 and 7 (required):


Comment: