QUOTE
Which software do you plan to use? Currently i use pygame, it is for beginners who want to make simple games and go on to more complex. Although if you want to make games like quake, i would use c++ or directx or java
DirectX isn't a programming language. It's an API [Application Programming Interface]
And you can use C++ [highly recommended for anything professional], Visual Basic, and I think Dephi can link to DX API.
As for where to start, You can find plenty of sites to learning programming languages, and don't start with complex stuff. Space Invaders is usually a common one. Search Google for more stuff.
GameDev.net is one of the best sites related to pretty much anything to write games.
Also their are quite a few forums to do with development.
Also modding games can be a valuable place to learn some of the basics.
good luck