Please recommend a book of DirectX programming for starters.
I am not new to programming, and i have a passion for programming, game development. I am new to OpenGL (started to learn recently), so should i start learning DirectX now or gain some more experience with OpenGL before making the switch?
One of the best resources I've had luck with Introduction to 3D Game Programming by Frank Luna (author's website link here) - pretty good theoretical basis and comes in DX9 and DX10 flavors both with an emphasis on shader work (who wants to use the FFP anymore anyhow!? ) There's certainly other ones out there too - as tom_mai78101 said - check the books in the resources section on this site - good place to start...
As for OpenGL / DirectX - in my view, they're really 2 sides of the same coin -- so, once you learn one, it's fairly easy to go back to apply your knowledge to the other... my 2 cents.