Archive for May, 2008

Talking ’bout Code Generation

May 5, 2008

In a perfect display of self-promotion, I forgot to announce here that I had a presentation proposal accepted for the ACCU Conference 2008. To get an idea of what I talked about you can read the proposal and browse through my slides.

Basically I expressed the view that code generators are a very effective means of dealing with the kind of repetitive tasks that tend to crop up when programming, especially if you use effective tools such as Python as programming language, a parser generator such as PLY for information acquisition and a templating engine such as Cheetah for the actual generation.

Advertisements

The Borland / CodeGear compilers and Boost 1.35.0

May 5, 2008

One of the many changes introduced with the new Boost release process is a drastic reduction in the number of officially supported compilers.  Although all versions of the Borland /  CodeGear compiler were left out, it should be noted that this only means that they have been excluded from the official release branch regression tests. This is not a good thing, as it makes it likely that regressions introduced late in the release process go unnoticed until after the release is issued.

On the other hand all the specific workarounds that I’m aware of are still present in the Boost source code and compilers from 5.6.4 onward work only slightly worse with Boost 1.35.0 than they did with the last few Boost releases.

To get a more precise idea of what works and what doesn’t you can take a look at the test results for the 5.6.4, 5.8.2 and 5.9.3 compilers. As you can see the 5.9.3 compiler does somewhat better than the other two, but there are things that stopped working for all three since the last Boost release.

However, now that gcc and VC++ are both rather close to standard compliance, Boost authors tend to rely more and more on advanced techniques that are only partly supported by the latest compiler, and not at all from earlier ones. This is likely to get worse – or better, depending on points of view – with each new Boost release. Let’s just hope that CodeGear manages to keep up.