Home > C++11 > Relentless Assault

Relentless Assault

Microsoft’s Herb Sutter is a whirling dervish. Since the ISO approval of the C++11 standard last fall, he’s been on a crusade to promote C++ via several comparative assaults on Java and Microsoft’s own C#.

Herb’s latest blitzkrieg occurred at the lang.next 2012 conference (video link, slides link). In this slide, Herb summarizes some of the C++11 features that close the productivity and safety gap relative to C# and Java.

In this next slide, Herb contrasts C++11’s adherence to its more open “trust the programmer” philosophy against the more closed “we know what’s good for you” C#/Java philosophy.

Unless the large movement of business applications to the cloud is the latest fad du jour, the following two slides show that the largest software development and maintenance costs will shift from labor to compute efficiency. Thus, it doesn’t matter how programmer friendly your language is and how low the salaries you pay are, you might find that your costs are going up because of power drain in massive data centers and time spent frantically optimizing VM-based code that’s relatively slower and bigger.

In closing, Herb, the nice guy that he is, backs off a bit with this “the right tool for the right job” slide:

Is Herb stretching the truth and exaggerating the improvements offered up by C++11? The fact that I wrote this post obviously means that I don’t. What about you, dear reader? What say you?

  1. May 15, 2012 at 5:24 am

    Firstly I’ll just say that there is certainly something in the last slide. There are always going to be small scale applications which run easily on any modern (desktop) hardware and in these cases developers may as well take the easiest route.

    That said, C++ is certainly getting easier to use. It’s gained a lot of ground with C++11. Smart pointers make automatic resource handling easy without the overhead of garbage collection. The introduction of threading to the standard is a big one for me – hopefully it means compilers will be more thread friendly, thus avoiding situations like this:

    C++ is certainly my language of choice (my interests right now are primarily multimedia and game applications, plus some robotics when my Raspberry Pi arrives). Moreover, the new standard has taken away a lot of the things managed language proponents had to complain about. I think there’s still a place for managed languages, but it seems to be becoming ever smaller.

    One interesting language not mentioned in the presentation was D. I’m yet to get the chance to learn it, but it appears to be (at least in theory) an “easier” C++ while retaining the power and performance. What are your views on D?

    • May 15, 2012 at 5:33 am

      Thanks for the insightful comments. I love Walter Bright and (especially) Andrei Alexandrescu. Thus, I love D. I think D is what C++ would have been if it didn’t have the goal of maintaining relatively staunch alignment with C.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: