Learning languages takes time.
So your friends should ask themselves how much time they want to invest in learning languages, and what for...
Do they want something easy, fast and powerful. They should learn Java, or C#. With their gigantic standard library, they'll be able to write almost any application but for some very limited cases. C# has more features, but for now, I feel more confortable with Java's write once, run everywhere than C#'s "hey, you have Mono on Linux, too"...
But Java won't give them familiarity about things work under the covers. For that, familiarity with C and C++ is a good start. By own experience with C++ is that most C-like languages comes easily once you have average expertise with C++. The opposite cannot be said.
So, if they want to learn a language to do things for a living, Java (or C#) is a good choice. If they want to go deeper, and are willing to invest time (including personal time) to learn, starting from C, and then moving to C++ would be a good idea (the transition from C to C++ is not always smooth, so be prepared to unlearn some C concept when moving to C++).