Another great ACCU conference, but a very busy one for me, I gave two solo sessions and joint session with Jim Hague. Also I was on the closing panel with Tom Gilb, Jim Coplien, Peter Somerlad and Hubert Matthews, run by Giovanni Asproni. For proof that I was there, see Anna-Jayne Metcalfe's photo of the event -- OK she caught me at a bad moment, so whilst it is a horrible shot of me at least it proves I was there!
- _Them Threads, Them Threads, Them Useless Threads_ was taking a look at what programming support we have in the brave, new world of multicore (and hence parallel) hardware. The answer is of course threads, and they are not a good tool. Systems such as OpenMP and MPI purport to be the programmer's friend but... Also there are functional languages such as Haskell and Erlang that take a very different view of parallelism.
- _Functional Programming Matters_ was part of the functional programming track of the conference and was to augment the tutorial sessions by Joe Armstrong and Simon Peyton Jones to show that Erlang and Haskell don't have to actually be used to have influence and importance. The ideas of no side effects and referential transparency can be used in C, C++, Java, Python, Perl, Groovy, Ruby, etc. Also of course, things like list comprehensions have been taken up by Python, Perl, Groovy, Ruby, etc. Programming is generally becoming a more declarative thing even in imperative languages. The C++ standard library is a case in point: why program a loop when you can apply a function. The killer point is that you have no hope of programming using C++ templates unless you know how to program using a functional language.
- _To Distribute Or Not To Distribute: How to know your DVCS from your CVCS_ This was originally intended to be a three person session, but Tim Penhey was not able to get to ACCU this year even though he originally planned to, so Jim Hague and myself did it as a two hander. This was really an introduction to distributed version control (Bazaar, Mercurial, and Git) for people only versed in centralized version control (Subversion).
The PDF files are all held on the Concertant LLP website.