Complementing what has been said, I'd like to say two things:
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.
4. Repeat point 3 until you have your FPS.