What’s new in C++ 11?

Yesterday, InfoWorld published a interview with Bjarne Stroustrup about the new stuff in C++ 11. He mentioned for example multithreading, lock-free concurrency, improvements in returning large data structures and the range-for loop. The following two questions were also very interesting …

InfoWorld: How does C++ compare to languages like Java, C#, or the dynamic scripting languages that are proliferating lately?

Stroustrup: I can’t do a detailed comparison, but C++ is more flexible (for good and bad) and tends to perform significantly better, assuming competent developers in all languages compared. The other languages tend to have massive standard libraries. For C++, the standard library is relatively small, and a developer is faced with the problem of choosing among a host of commercial and open source libraries when going beyond that.

InfoWorld: At Microsoft’s GoingNative 2012 conference recently, you emphasized native programming, saying, “Something has to talk to hardware,” and not everything can be a virtual machine. When should a developer opt for native programming, and when should a developer opt for a virtual machine-based language?

Stroustrup: Actually, it was Microsoft that emphasized “native” programming and chose the title, but that’s the kind of implementation techniques I’ve relied on for decades. C++ has significant strengths compared to “virtual machine-based languages” when it comes to building infrastructure. In other words, where performance, reliability, resources, and complexity need to be tightly controlled.

For example, you wouldn’t write a JavaScript engine in JavaScript, and you probably wouldn’t write a “first to market” simple Web app in C++. You would write the foundations of a Google, an Amazon, a Facebook, or an Amadeus (airline ticketing) in C++, but maybe not the rapidly changing top layers of such systems.

You can read the full article here [1]. If you don’t know who Bjarne Stroustrup is, there is his site [2]. And if you want a argument why C++ is not dead, here we go [3].

Have fun at reading the article!

 

[1] http://www.infoworld.com/d/application-development/stroustrup-reveals-whats-new-in-c-11-187051
[2] http://www2.research.att.com/~bs/
[3] http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Leave a Reply

Your email address will not be published. Required fields are marked *