Tuesday, October 12, 2010

Updates: C++0x Feature Availability, C++ & Beyond Encore

Two independent announcements that I'm bundling together, because both are short:
  • C++0x Feature Availability Table Updated.  In July, I posted that I'd updated my table of C++0x feature availability to include a link to a page summarizing Clang C++0x support.  Recently I discovered that that link is missing.  I can't explain this, but I can fix it, and I have: the link to Clang support is now present.  While I was updating that information, I took the opportunity to update my information for MSVC from Version 10 beta 2 to simply Version 10.  As far as I know, my table is now up to date, but if you see anything that's inaccurate, please let me know.
  • C++ & Beyond Encore Seats Going Quickly.  The "encore" version of C++ & Beyond that Andrei Alexandrescu and Herb Sutter and I will be putting on in December is now 1/3 sold out.  There won't be a second encore, and, like the original event that will take place at the end of this month, attendance is strictly limited to 60 spots, so if you've been thinking of attending, I encourage you to register sooner rather than later. (If you're interested in the technical program, talk descriptions are being posted to the C&B blog.)


Monday, October 11, 2010

Notes from MISRA Day 2010 Talk Now Available

On September 29, Les Hatton and I gave dueling presentations at the 2010 MISRA Day conference.  The exchange was billed as a debate between the two of us, with Les defending C for use in embedded (typically safety-critical) systems and me advocating C++.   As it turned out, Les argued that the choice of programming language is a lot less important than the ability of developers to use it well (a position with which I agree), but I went out and made my case for C++, anyway. 

It was an interesting talk to prepare, because it got me to thinking about very fundamental aspects of C++.  C++ has lots of fancy features, but what are the core features that really make it nicer to program in than C, especially for systems where you know you'll be programming in some kind of "safe" subset?  (MISRA has published guidelines for both C and C++ that are designed to constrain its use to improve its suitability for application in safety-critical systems.)  I ended up spending the biggest part of my time on constructors, destructors, and RAII, although I touched on many other aspects of C++, too.  These days, I spend most of my time focusing on the more advanced C++ features (often the new ones introduced in C++0x), so it was nice to go back and remind myself of some of the key things that distinguished C++ from C at the very beginning (in the early 1980s).

If you're interested in the presentation materials I used at MISRA Day -- at my take on key C++ features that make it more attractive than C for use in safety-critical systems, they're now available for viewing.