April 20, 2005

Oxford Live Report

So this is my first day in Oxford at the ACCU Conference. Wireless internet access is available both at the conference and in my hotel, so I can stay connected to the rest of the world. Read on for some notes on the Conference as well as on Oxford.

Conference Hotel

My hotel (the Linton Lodge) is located about 2 kilometers from the conference venue and instead of taking the bus, I decided to walk the distance. The way to the conference lead me through parts of the Oxford University campus, which I wanted to see anyway.

Oxford University

Highlight of the first day certainly was Herb Sutter's presentation where he compared the generics/template mechanisms of C++, Java and .NET.
Dave Abrahams (the Boost guy) presentation on template metaprogramming was thought inspiring too. It will be interesting to see in which direction all this will go. It certainly takes a lot of time to getting used to this style of programming, and the resulting template code is very hard to grasp. Certainly heavy geek stuff going on here.

The second day's keynote was given by Bjarne Stroustrup. He gave an update on the current standards committee activities on the specification of C++0x, the, uh, upcoming (x = 9) update to the C++ standard. Fortunately, no major new features will be included. It all basically comes down to making templates easier to handle. Plus, additional runtime libraries with hash_map, threads and filesystem support. Thanks. Speaking of threads, Herb Sutter's second presentation focused on concurrent programming and all the still unsolved problems associated with it. It basically comes down to this: concurrent problems are more easily solvable in functional languages. Unfortunately, most programmer's, for obvious reasons (mental complexity being the primary), avoid functional languages. So the problem to be solved is to integrate concurrent programming with iterative languages. As Herb Sutter put it, we need the equivalent of object-orientation to concurrent programming. Active objects are a first step in that direction. There's definitely the one or another idea to be found for implementation in the C++ Portable Components.

I even got to exchange a few words with Bjarne Stroustrup this afternoon — I sat next to him in the audience during the Microsoft presentation in the lunch break.

Keynote

Now it's Friday and I'm sitting in Jim Coplien's keynote (as you can see on the picture above). I had dinner yesterday with a few nice guys, some of who participate in the C++ standards committee (Detlef Vollmann, Thorsten Ottosen).

The keynote was quite inspiring, probably the best keynote of the conference. The main topic was symmetry, or more specifically, how beauty results from imperfect symmetry. Quote of the day: C++ may not be elegant, but it is beautiful. Coplien also mentioned Christopher Alexander's new book series: The Nature of Order, which I am surely going to read as soon as time permits. (Actually, the sheer size of my books-to-read list would justify going on an extended sabbatical...)

The second presentation of the day, Frank Buschmann about model-driven development, did not bring many new insights. The general state of art in model-driven development (or MDA, as the OMG has trademarked it), seems to be that it works well for certain narrowly defined domains, that is, state machines. The general approach — define a domain specific language with an appropriate metamodel behind it that can drive a code generator — is mostly impractical, as the necessary investments (doing all that DSL stuff plus graphical editor plus code generation correctly is harder than one would expect) are not justified by the results.

The remaining presentation of the day I attended were Thorsten Ottosen on the new range and pointer container libraries he added to boost, and a panel discussion on "Return to C++", led by Nicolai Josuttis. Jim Coplien reported that some of his clients in the banking sector are returning to C++ after some quite unpleasing experiences in recent Java projects. Unfortunately, C++ has some nontrivial acceptance problems nowadays, especially in the enterprise information technology sector. One of the reasons is insufficient marketing on the C++ side. Both Java and .NET are backed by huge corporations with astronomic marketing budgets. Also, in the mind of many (managers), C++ is still seen as C with classes, with all the negative associations that come with C — ignoring the fact that the C++ of today is basically a completely different language than the C++ from ten years ago. There is still the problem that becoming a good C++ developer requires significantly more training than becoming a modest Java programmer. Only nobody wants to invest that much time into training. So, what often happens is that programmers coming fresh out of school are assigned to maintenance projects where they have to dig through ten year old badly designed code bases, thereby learning from what they see there. Needless to say that these people never get a change to appreciate the joys of 21st century C++ programming. Fortunately, a few schools are again starting to teach C++ in programming courses, so the situation may improve in the future. Needless to mention here that a good C++ programmer can become a good Java/.NET developer with minimal effort. The reverse is not necessarily true.

Oxford University Park

So much on the future of C++. In the evening I finally found the time to go jogging. As I always wanted to see the Oxford University campus (for some strange reason, famous campuses fascinate me — campus tourism?), so I went there. Needless to say, I was impressed. Even more so, the whole city touches me in a strange way. While I actually prefer living in the country to living in a town, I could easily imagine living in Oxford for some time. That city really has a lovely character. And lots of iPods, too ;-)

Oxford University

One thing that's starting to drive me crazy is the food. At the conference, we had variations on sandwiches and chips for lunch the third day in a row. Are sandwiches the only food they have in England or what?

Saturday, the last day of the conference. Unfortunately, the T-Mobile WiFi accounts for the conference no longer work, so no more life updates for the rest of the conference.

The final keynote by Kevlin Henney was quite good, as were Frank Buschmann's Notes on the Craft of Software Architecture. For lunch we again had, what a surprise, chips and sandwiches. I really cannot see that stuff anymore. Hope they improve this for next year's conference.

Overall, I really enjoyed the conference, definitely one of the best conferences I ever attended. I'll surely return for next year's conference.

Posted by guenter at April 20, 2005 03:00 PM
Comments