Modern C++ cookbooks

Posted: February 5, 2012 in Programming Recipes

The time has come. Bjarne Stroustrup said “C++ feels like a new language” and as you might be aware, the C++ language is being updated by the ISO standard. The codename for the new C++ language is C++11 (also formerly known as C++0x), and many compilers have already introduced some of its features.

This post’s aim is to integrate C++ Cookbooks (that I wrote less than a year ago) providing new sources of information on C++11 and modern C++ programming. Talking about this new standard, a lot of new posts, articles and slides have come out for the last six months and this may perturb who wants to gradually learn, starting from scratch.

I’m going to list some of the articles, videos and more things I have studied and I have found good and useful. I’ll try to sort the items so you can start from the first and gradually go on (or at least this has worked for me!). Bear in mind that this is one of the possible approach and the list can be neither complete nor all-embracing.

Let’s start with C++11:

From the beginning of Stroustrup’s C++ page: “C++ is a general purpose programming language with a bias towards systems programming that […] supports generic programming”. Now this is more evident: in C++11 a great effort has been made to include lots of metaprogramming stuffs and some of boost MPL‘s concepts. Modern C++ is about genericity. More than ten years ago, Andrei Alexandrescu wrote Modern C++ Design that I suggest you to read, also to understand possibile ways to implement some C++11 features.

In modern times, concurrent and distributed programming is the real way to speed up your applications. C++11 includes threading support but if you are a Visual Studio fan then you have to wait. Meanwhile, take a look at the Concurrency Runtime (particularly at Parallel Patterns Library and Asynchronous Agents Library) and don’t get left behind. And if you are a CUDA/OpenCL lover, glance at Microsoft’s C++ AMP and try it on Visual Studio 2011 preview.

Remember that boost libraries have been the most abundant affluents to C++ standards in last years. A modern C++ programmer mustn’t forget these powerful allies. A new book is out but you can settle for the official documentation, complete and very clear.

Finally, I keenly hope that Josuttis’ The C++ Standard Library – A tutorial and reference (2nd edition) will be published in April.

Wish you to master this “new” language!

  1. I learnt “Elements of Modern C++ Style”, very good book, i recommend

Leave a Reply

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

You are commenting using your 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 )

Google+ photo

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

Connecting to %s