To become a great programmer or a hacker u will require this set of skills to excel.
Programmer :
Good programming knowledge: Fundamentals, OOPS, memory, CPU management, and efficient use of hardware through your code.
Programming languages that can help achieve these: C and C++. C is considered the mother of programming languages (for a reason).
Learn python if completely new to programming indeed u will need to learn c/c++ for greater understanding.
Then Data structures and algorithms which force you to think and write code as a programmer, U will be introduced to various concepts that will open door to other important paradigms of the programmer(thinking and methodology)
To test yourself on the way try to code in these platforms 1.Hackerrank,2.Codechef, 3.Codeforces.
Compete with other programmers and learn competitive programming and see where programming will take u.
For hacking ( u need to know a lot) :
1. Networking
2.Programming(Python, c/c++, Html, JS)
3.Operating systems.
4.Web.
5.Linux
6.DS and ALGO.
OMG, many more.......
Practice, be persistent, it's not how u become a top programmer or hacker, its how well you can crack an algo or create one ATB!!