I know there are already a lot of topic's just like this, but i can really use some personal advise.

I am a beginner and i have not very much experience with programming and game engines (almost none).

I know it will be a hard task, but as my first game i want to make a FPS. I dont know if its a good idea,

but i want and can to learn programming first (partly while making the game). My questions are: do you think its possible to do this. If not: whats a better idea to do it,

which programming language is usefull (and if its possible: do you know a good book or something to learn that language). And which engine should i use if i make it to learn a language. And maybe: do you know any good book or anything else to learn this?

Give the Unreal Engine a try. It's free to download and use, and is great for FPS games. It's not programming, but you could learn a lot about game design and get good visual results very fast.

As Sunsharior said, your first games really have to be something far more simpler. That way you learn every aspect of programming step by step. I just finished a 'Guess the number' game in python, and it was challenging! Through this little 'game' I learned about exceptions and file I/O, two aspects of programming I didn't undertand before. If you want to look at the code, follow the link in my signature.

1. As has been said, a FPS is, definetly, too big to be your first game.

2. In my opinion, you can start with any language you want, really. Even if your goal is to do a 3D game, there are plenty of engines with which you can program your game in other languages. For instance, you can use C# or JavaScript with Unity, Python with Panda3D or Java with jMonkeyEngine, just to show a few examples.

Of course, if you want to code your own 3D rendering engine then yes, you should go for C++, but otherwise there are plenty of choices more easy to start with than C++.

That being said, what I would do in your place is the following:

1. Choose any language you want.

2. Code some simple 2D game (like snake, breakout, tetris, pong...).

3. Hopefully, here you will already have realized how complicated is to do a FPS. Pick the next thing you need to learn and code a game a bit more complex than the previous one.