Quote: "which one would you reccomend?"
A Programming Language is like buying a new games console, there are the popular ones, the powerful ones, and the stable ones.
Although they all do the same job, they have thier own little quirks which make them unique.
It's upto you to decide which variety you prefer...
Personally I use Microsoft Visual C++ 6.0 / 8.0 Express, because the IDEs really make things easier for larger projects and the Microsoft syntax appeals to me.
On the other hand my girlfriend only uses GNU GCC (command line) because it works on Linux and she is deathly apposed to any software which requires an EULA.
Neither makes either of us better coders, but it does make our lives easier dealing with languages we enjoy.
Quote: "Would you say thats required?"
I'm not sure what your reffering to, but I think your asking would it be a requirement to learn C before C++, no?
If that's the case then, no you can jump right into C++. The difference is there is alot more to get to grips with, by learning the basics of C first you learn the basis for which really all programming stems from. You will find that Classes and Interfaces within C++ will be easier to understand if your first understand the relationship between Structures and Functions in C.
It's also a case of baby-steps;
Learning to
struct Steps
{
char small;
};
Steps Take;
char One = Take.small;
before you can
struct Steps
{
char small;
} Steps, *pSteps;
Steps *Take;
int *large = *(int*) &Steps;
hehee