C++ Is your best friend, but i'd suggest you first try VB.NET to learn the basics as its the easiest programming language which can do 70% of what C++ can do.
if you need to learn about memory reversing, Anti-cheat reversing, etc.., you will need paid private learning with some expert, could help you up if needed.