Programming is an important part of being a successful hacker. This isn't a comprehensive list of programming languages and nearly any can be used for most hacking tasks, especially on the web, but rather a list of languages we find especially useful or notable.
- Python and Ruby: Useful for automation and quick testing and analysis, particularly for web hacking.
- JavaScript: Can be used for the same tasks as Python and Ruby (albeit with fewer relevant libraries), but mostly useful to know for analysis of code on the web, as well as exploitation.
- Objective-C and Swift: The ability to read these will be essential if you plan to do source code review of iOS applications.
- Java and Kotlin: The ability to read these will be essential if you plan to do source code review of Android applications. Java is produced by decompilers for Android applications, which allows you to read code (roughly) equivalent to the original source, even when you only have a compiled application.
- AArch64 assembly: For advanced embedded and mobile hacking, understanding the very lowest level of abstraction is essential.
Social Plugin