His better argument about C being good is that it's easier to look at a diff and know what's going on. This is because C has minimal non-local effects, where with C++ you have the ultimate in spaghetti programming: inheritance and overrides.
> His better argument about C being good is that it's easier to look at a diff and know what's going on.
Yep, https://www.cve.mitre.org/cgi-bin/cvekey.cgi?keyword=memory+...
C has fewer "magic" features than C++, and so it's more often clear just by looking at some code what it does. I like C++, but only because I'm happy to only use the subset of the language which suits me, and I tend to avoid features which increase the cognitive load of reading my code.
I never understood why it is so had to look at a + b and see it as a.+(b).
I also need to look at the documentation or source code to see if sum(a,b) does what I think it does.
Python, Ruby, Smalltalk, Ada, Lisp, Scheme, C#, C++, Swift, Rust, D, Scala, Clojure, Kotlin, JavaScript(ES7), ML .... developers seem to be able to cope with it, just C, Go and Java devs not.
https://plus.google.com/+LinusTorvalds/posts/bnfi25LuAMd https://plus.google.com/+LinusTorvalds/posts/GkLj5pyvJ7D
As someone that enjoys C++, in spite of its security flaws inherited from C, I see as a victory for the C++ community that a C++ hater like Linus is forced for pragmatic reasons as you say, to make use of it.