Wednesday, September 7, 2011

A Little Herb Sutter

I feel a little bit like the celebrity blogger who loves to drop names.

In the world of C++ there's Herb Sutter. His career has been largely spent prognosticating the direction of C++. He served on the ISO standards committee for C++ and has written a number of C++ related books.

Today on his blog he announced a presentation of he gave in Banff, Canada  (C++ and Beyond 2011) ,being posted on Channel9 (MSDN).  I'm diving right in.

According to his blog, "It's a keynote-y talk, not a technical talk." He does, however cruise over some real advantages to C/C++ .

He starts the presentation by discussing three genuine advantages to C/C++. They surround Performance/Dollar. They are:
  • Performance/Watt
  • Performance/Transistor
  • Performance/Cycle
Interestingly, in his description of the most recent history of C++ he mentions that the productivity over performance onset. Naturally, he touches on managed languages. One interesting thing he points to is how Windows Vista was the, "poster-boy" of the limitations of managed languages. Anyway...

The gist of his presentation is fantastic. Native languages have a place in today's development (I know what you're saying...). Ultimately, performance per dollars do matter.

Some other interesting points:

Managed languages sacrificed the efficiency of the system to allow for a more productive environment. Now, however, an emphasis on performance has brought back the native language's allure.

We've all seen Android's (Google's) Native Development Kit (NDK). It allows for the creation of C/C++ apps for Android. iOS, of course, has supported Objective-C, C/C++, for some time now. A move back to native languages is certainly underway. The point is, as we move to the cloud, efficiency from the level of the app to the level of the datacenter is crucial.

A Renaissance of native languages/efficiency?

I have a dear acquaintance that works in venture capital. He was once the CFO of Microsoft. I've discussed hiring talent around the Northwest and a comment of his struck me. He said, "The cloud will be built on C++ and JavaScript. Snatch up any experts in those areas you can." 

This has been clear now for a couple of years. C/C++, and/or native languages offer the performance that .NET and Java sacrifices for productivity.

He finishes with the most important point. C++ lacks the portable libraries to offer it the same productivity advantages of .NET and Java. 

What apps are you working on that require a significant level of performance that overshadows the need for productivity?

Thank you,

Aaron






No comments:

Post a Comment