"He who sacrifices freedom for security deserves neither."
That's the first thing I thought of when I read the last few posts. From the point of MS' view, the various unices which have all of the kernel written in languages like C and Asm would be considered "dangerous" and "unsafe", but yet they are still more secure than MS' own OSs, clearly showing that you don't need a whole mess of "checked" and "managed" code to have a secure and still flexible OS.
And... C first. Once you get the basic syntax of the language, then you add objects (C++). Makes sense that "procedural" code which will be what you're writing in class methods anyway is what's learned first, then the object abstraction is employed on top of it.