I think not - C has extremely thin abstractions - it's basically a portable assembler, with all the trade-offs so implied. C++ is a beast of a language that includes everything and the kitchen sink (plus decent backward compatibility with C), and as such is hard to optimize for new contexts (like concurrency), because there are so many interlocking bits that all need to work (ever tried to write code combining templates with class inheritance? It's mind-boggling, and that's likely a simpler example than those the author cites).