Every application or site you use is programmed in a particular computer language also known as Programming, and people such as Hackers try to hack it. But to break anything, first you need to understand the languages and then exploit its weakness, same happens in hacking. To actually hack anything first you'll have to understand target application but that understanding requires knowledge of these particular languages.
Which Programming are required to Hackers?
There are lots of computer languages but few are required for hacking purpose because in most cases it depends upon target. There are basically three sections ― Web Hacking, Exploit Writing & Reverse Engineering and each of it requires different coding.
1. Web Hacking
HTML: One of the easiest and widely used static markup web language present in each and every website you see in your browser. It's recommended to learn HTML very well because it helps understanding web actions, response, and logic.
PHP: A dynamic server-side language which is responsible for managing web-apps and database. PHP is considered one of the most essential language because it controls everything on site and server, like a captain of a ship. It is advised to learn PHP nicely.
SQL: SQL is responsible for storing and managing sensitive and confidential data such as User Credentials, Personal info or even Bank details used in almost all data storing sites and therefore it's the most attacked portion of a site.
2. Exploit Writing
Python: It is said that a Hacker must know Python because its the core for creating exploits and tools. Security experts and even pro hackers suggests us to master Python because it provides wider flexibility and can be used in many places. I recommend to read Black Hat Python
Ruby: A simple but complicated object-oriented language. Ruby is very useful when it comes to exploit writing. It is used for meterpreter scripting and you may know that Metasploit framework itself is programmed in Ruby.
3. Reverse Engineering
Assembly: It's a low level but advance coding. One can instruct a machine hardware or software using it. If you're keen about Reverse Engineering then Assembly is going to be very helpful.
C/C++: For example in C/C++ you will learn that you shouldn't write past the end of the array - if you have allocated memory for 10 elements, you shouldn't attempt to write to the 11-th slot. Which is exactly what hackers will proceed to do, and notice that everything the computer does is calculate "array_base + n * elem_size" and write the element to that address, no matter where it falls.They will also notice that if you go up in memory (the stack grows down), you will eventually go past all the local variables, and to the function's saved return address. Put two and two together, and you end up injecting machine code in the array, and then overwriting the return address with the start address of your own code - when the function call attempts to end, it will transfer execution to your injected code instead of back to the function's caller (all a return does is pop the saved return address and jump to it).
I mentioned seven languages but that's not all and nobody ever learn all of them 100% but you should know little bit of each as its essential but what matters here is only your target, If the app which you want to hack is coded in ASP then you'll need to know ASP. Do you think any other programming is essential for Hackers? if yes then please comment below.