I started with .NET, then I moved on to AS3. But that's all because of family and school.
In my spare time I learned Java and Python. Since last year I study a game development course at College University.
So now I've been working with C++ for a little bit more than a year. ( I also learned a lot of more languages than that, but for the sake of this post I'm not going to mention my entire history. The reason I wrote all these things, was to introduce my opinion.
In general the concept of how you have to think is the same for all languages. Yes, this is not true, but how I see it there are a few important differences to be mentioned:
- Languages have typical their own set of rules and syntax format. However you will see that the general concepts stay the same. ( e.g.: conditional operators, arithmetic operators)
- Each language has its own history and standardisation process. With these each language his standard Libraries get bigger and bigger. So when you learn a new language it is really important that you learn about these libraries, so that you can get the most out of the language as possible. It also boosts your productivity A LOT. ( Just try to imagine what you would do without the STD library of C++ ). It's also important to know the important non standard libraries. (e.g. in C++ you have the Boost library)
- It's important to know that you also have layers of languages. Typical described with a generation. The higher the generation the easier it is to understand and use, but the less control you'll have.
Personal, I don't think it's wrong to start with C++ from the start off. A lot of my fellow students learned C++ as their first language and they are doing quite well. Up to the point that they are now writing their own 3D Game Engine with DirectX10. The problem is that C++ has quite a lot to offer. Also don't try to go for some visual interfaces right from the bet. Don't expect to be able to make a visual game as a beginner. Just try to learn the basics and understand what the options are, what is possible and what you should best in certain situations. It's also important that you'll learn that there are certain things you can better avoid, although they exist. I learned C++ with
this book (I learned it with the 5th edition, but why bother buying that ancient thing if theirs a 6th edition?). He really explains it well and you will really know your basics. It also gives you an introduction to the STD library.
[edit] Btw, I also wrote a small post about my blog a few days ago in which I list some really great articles, lists. Most of them are more advanced but still, there are some basic ones. So if you have some spare time over you can maybe check it out
here.
Ofcourse you could start with a more basic language like Python, but I do not think it is necessary.
Keep in mind that I'm just a student, who sucks at expressing himself in the English language.Most of the people answering these topics are way more experienced than I am. With that in mind I hope that i didn't write to many things in a wrong way. And I hope it helps you a little bit.
Btw you really ask a lot of questions about a lot of different things. Don't expect to learn arts and programming at the same level at the same time. Frankly, I think it is quite impossible to become really good in both fields. This is even more true for when you learn everything on your own. In this game course for example, we also learn 3D for games. In which we learn to model, texture and other stuff. For this we use 3dsmax, photoshop and Mudbox. The thing is their is no student that is really good in both 3D and programming. And even in programming there are people who are better in certain areas than they are in others.
So try to learn only one or two things at the same time and try to really master them for a while. If you want to learn to Program don't expect to become good in something really fast. There is really a lot you'll have to learn. There is so much you have to know. Becoming a master, takes a life of experience. With this in mind, just try to learn the basics and continue from there on. Get to know yourself and your boundaries. Learn to embrace failure and headaches.
Good luck mate!