you could use .NET with c# or c++, u should make a MVC (model view-controller) split in differents modules (objects) the graphics (2 or 3D) the inference engine, the netcode and the main loop
C# is quite easy and it suses delegates (pointer references) and is quite easy to implement EAP (event-based async programming) wich is useful for the netcode :) using callbacks, a chess UI no so hard using WPF or even win forms.
With C++ u could download de DX SDK for free on microsoft page and it's a bit different to use than other graphics library but the results are way nicer :)
Well I agree and don't agree with what the guys above here said. Follow the link I've posted earlier. While I agree with Wafflemaster, that you're not going to create an engine right away, I do see a great opportunity for you to start learning code with a chessgame.
How?
Divide it up. Forget the engine for now.
Start with a board. Learn how to get that board on the screen.
After that, implement an overlay with the pieces.
Implement moving pieces without rules (mouse input etc)
Implement the basic chess rules.
Implement castling, en passant and promoting.
Implement moving the pieces within the rules of chess.
Now you have made an analyze board.
Now implement the basic chessprotocols (UCI comes to mind) (See earlier mentioned link).
And when you're done with that, your chessboard can talk to existing engines!
By this time you will have become quite comfortable with the language of your choice. And really, don't care for what people recommond. Python, C, Java or if you wish (and I would not encourage it) qbasic would do.
Personally I would recommend either, python or a C based language, but something like C# (mono) would do just fine. Your engine isn't competing to be the best at this point. It's about learning how to code... once you've learned 1 language it gets a lot easier to pick up another, because you've already learned how a functional program is set up. The language in which you do that is yours to pick. I would even go as far as to say, don't do it in pure C or C++ if this is your first program. You'll spend more time on memory handling than on your actual program. Python would really be a nice choice. It's a bit weird language, but you can actually read it 10 years later and still understand it and it implements great best practice coding ideas.
So basicly, start with the gui, get to know your language of choice and general coding ideas... and then if you still want to, implement your own engine!