C++ and Beyond Panel: Modern C++ = Clean, Safe, and Faster Than Ever

I just posted the following panel announcement to the C++ and Beyond site. The three-day event (plus evening-before reception) with me, Scott Meyers, and Andrei Alexandrescu will be held on August 5-8, and early-bird registration is open until May 31.

 


image_thumb[1]C++11 is kind of like “C++ Dreamliner.” It’s built with world-class modern materials. It took a couple more years to finish than originally expected. But now it’s starting to roll out worldwide and flying more safely and efficiently than ever. (European readers may equally consider it “C++ 380.”)

As I write and teach about C++11, I emphasize that:

Modern C++ is clean, safe, and fast – modern C++ code is as readable and as type- and memory-safe as code written in any other modern language [*], and it has always been the king of ‘fast’ and is now faster than ever with new features like move semantics.

Bjarne Stroustrup made me add, at the end of the “clean and safe” part:

“[*] When used in a modern style.” – Bjarne Stroustrup

Bjarne and I claim this to be true. Others have disputed various parts of this statement – whether C++11 really has a usable safe subset, whether C++ is really necessarily faster than code in other languages, and other questions. What’s the truth?

These answers matter. Type safety and memory safety are important not only for writing reliable code that will fail or be abused less often, but also for improving developer productivity so that developers can spend less time on overhead “taxes” like checking for unsafe casts or buffer overruns. And the claim that C++ really is the king of “fast” has been consistently challenged for most of its history.

In this panel, Scott, Andrei, and I will weigh in with discussion – and data – on these important and current questions.

4 thoughts on “C++ and Beyond Panel: Modern C++ = Clean, Safe, and Faster Than Ever

  1. @Amit: No and yes. C#/.NET has its place, and C++11 has its place, too. It depends on the software you are building, and of the circumstances, if you should prefer C# over C++. It’s all about choosing The Right Tool For The Job. Know your tools and their advantages and drawbacks.
    So: No, it’s not time to abandon C#, but Yes, it’s about time to learn C++, as it has become an even more powerful tool for your toolbox than it was before.
    I am using C++11 for some months now and started learning C#, to have a tool where C++ doesn’t fit that good.

  2. Hi, love your stuff! I am a very lucky person. I have worked on cobol compilers, fortran, Java and am now working on a project using Java 7 invoke dynamic. Why am I saying this? My point is that many people talk from the view point of loving one lanuage. I miss working in cobol – it seems I can love anything. Your post misses that most important difference between c++ and the major oo managed languages. Shame on you for not selling c++! Memory safety is old hat and actually c++11 is dissapointingly bad at it (shared pointers are slow and saying you should take references to them is a cop out). But, with raii c++ has resource management. Making sure file handles, sockets and other precious resources are used properly is very much more important than worrying about leaking memory.

  3. Does it mean that now I will have to abandon ALL C# and .NET skills and start learning C++ from the scratch? Does C# have any place in future or is it all about C++?

Comments are closed.