C vs C++
stonemetal: As far as your buddy goes it sounds like he isn't vary familiar with C++ or familiar with it in a environment in which it was poorly used.  If anything C++ is much simpler to use than C on anything that is nontrivial.Anyway whichever way you go know that idiomatic C and C++ are very different(see http://www.research.att.com/~bs/new_learning.pdf for an idea of the differences). If while learning C++ you notice that it looks like C know that your source of info is doing it wrong.  In fact I find idiomatic C++ to be much less error prone than idiomatic Java.