Should I teach c++11/14 to students? Diffusion, including industry?

Dear ROOTers,

In the last months I updated my knowledge with the new C++11/14 standard and in recent linux distributions it is quite easy to have compilers that support it.

My question is: should I teach the new standard to new students? The answer is not trivial because they could enjoy the new features but then they could have problems when moving to other groups or to industry that could be still sticking to legacy code.

Actually my real question is where I can find official or less official statistics on the diffusion of C++11/14 among researchers and industry.

I want to prepare a presentation in my institute to support my preference to move to the new standard for new students, and I believe that bringing some statistics on the diffusion of the new standard is much more effective than just showing why the new features are interesting (non-programmers might sleep with just code comparison).

I hope that in this forum I can have some material at least from the HEP community (e.g. what is the status with LHC experiments), and maybe some hints on where to ask for such statistics on other fields of physics or industry can be found.

Thanks in advance,
Matteo

Hi Matteo,

I cannot tell about the usage within industry, but at least ATLAS, LHCb and CMS started using features of C++11 in their current software to some great benefit.

IMHO teaching your students about the current standard is the way to go. In particular as it is not only a change of syntax, but a real shift in paradigm how C++ code should look like. Teaching old paradigms is rather anachronistic if you do things first time.

A good source of information is this plenary at CHEP by Axel Naumann already two (!) years ago:
indico.cern.ch/event/214784/ses … bution/496

Cheers,
Benedikt

Hi,

Another “selling point” I always use is stack overflow:

your students will get stuck. They will ask the 'net about “how do I do XYZ in C++ again?” And the answers to that are now becoming C++11/14, more and more. This actually drives software projects towards C++11/14. In StackOverflow, C++ has 380k tagged questions, C++11 shows up 145k times, C++14 41k times - thus it seems that more than half of StackOverflow is now c++11 and up,

From the user representatives at the C++ committee (banks, games, science etc) I know that the vast majority uses C++11/14 “already”. (The hurdle to switch to C++14 is so minimal, code-wise, that I just don’t know what fraction uses 11 versus 14.) But I am fairly certain that there is a correlation :slight_smile:

Hope this helps!

Cheers, Axel.

See also the nice post here: blog.jetbrains.com/clion/2015/07 … ore-clion/

Axel.