Hacking involves breaking the protocols of any system on a network and while this can be done by a plethora of applications available for free, being a hacker requires you to understand the languages that the software that you have in focus is written in and they are usually written in a range of common languages.