Toribash
i'd still use C for SMD's. (small memory devices) that is until you sell me with assembly language, which for sanity's sake I shall avoid delving too deep into
...
While C is fundamentally important for the basis of C++, it is not important to understand one to know the other. C++'s implementation means that a good bit of C is already valid within it, yes, so know C would help in understanding C++'s construction. However, learning C++ purely (as I have), will inevitably force you to understand the concepts and rules of it.

However, arguing that C++ is for noobs is something I do not really agree with. You may counter argue that I am arguing this point due to my lack of knowledge of C, and you may even be correct. However, as C++ is indeed an extension of C and contains a very large portion of its functionality, and then expands upon it, one may argue quite reasonably that C++ is more useful. A programming language that is more useful doesn't make it a "noob" language, as I will examine this concept by introducing an almost universally hated language, Visual Basic. Compared to Visual Basic, C++ has far more "simple" functionality, is far more extensible, and is several orders of magnitude faster. I doubt that anyone will disagree on those three points. I also doubt anyone will disagree that Visual Basic is a "noob" language, unless they want to go and say "it's the worst piece of crap that Microsoft has ever made, even worse than Vista goddamnit." C++ may be slightly slower in some operations than C, but at the same time, C++ still allows very, very efficient memory management and is still compiled extremely efficiently, and most of the times the only difference is whether you're using malloc or new as your keyword of the day in such situations. As for OOP, it is most certainly an "advanced" feature, but by no means is it something that is difficult to understand once you figure out why it's called "Object" oriented programming, and provides very nice closure and a very nice (and completely optional) implementation of a very effective paradigm. While you can make decent programs without it (and alas, many have), at the same time some things are just simpler to do with a method that does not require you to define every single instance using the functional or sequential paradigms. And if you wish to claim that this is an inefficient use of memory or CPU, you are free to use inordinate amounts of pointers to solve that. Doing the latter is certainly not something that can be done by a "noob", nor is it ineffective as though it were done by a "noob". As such, I believe we can conclude that C++ is not a "noob" language, and may actually be better than C and not require a fundamental knowledge of C.

Although, I will admit this knowledge of C can be helpful, so can a thorough knowledge of PHP, Java, and (as much as I hate to say this) even Javascript. All of these languages are fundamentally quite similar, and each of them has a unique feature set and implementation. Some are faster, slower, more useful, less useful, or just different than others. And while some (one in particular) is commonly regarded by me as pieces of crap (no points to anyone who guesses which), they are all useful, and none of them are remarkably "noob"ish.
Squad Squad Squad lead?
The standardization of Toribash Squad roles may have gone too far!