Originally posted by Skuzzy
Gadfly, that is not C, that is C++. Very different.
C++ is indeed ugly. C is much easier to read and debug, and will generally produce smaller and faster code. I would not start with C++. It is much more difficult than C for a beginning programmer. I know C++, but never use it. The code is just plain ugly to work with.
I have to disagree with you there: for complex projects I prefer C++: well designed and written C++ is much easier to deal with.
C too easily ends up as a long convoluted spaghettie of functions with little or no structure. But then I was brought up, so to speak, in the object orientated world. C++ is just a superset of C anyway (assuming you stick to ANSI standards) so the one leads to another.
Originally posted by Skuzzy
BASIC can teach you some bad habits as it is a very unstructured language.
I definitely agree with that: this also goes for M$ VisualBasic as well.
My advice: learn C (and then C++

) or Java. Which one depends on what you are trying to do. C/C++ are more computationally efficient, Java is generally easier and has lots of things already written for you. Programming languages are just tools: you pick the right one for the job - be careful of people who get fanatical about them!
My other piece of advice is this:
Learn to do all the tasks involved in writing a piece of software yourself, inlcuding compiling, linking, build files etc. Too many people start off using fancy development environments like JBuilder & Visual Studio and then can't figure out how to get things work when they go wrong (or move to another environment).