Question:
Progamming language to learn?
?
2015-08-20 08:46:26 UTC
I'm currently in high school and want to get into cybersecurity work during/after college. I have experience programming with visual basic, small basic, and LSL. I was wondering what language I should learn if cybersecurity is the field I want to go into?

People online have suggested Python, but others say there are better languages.

Thoughts?
Three answers:
?
2016-03-26 17:52:42 UTC
When I was in high school a few years ago I was in a very similar situation to you: I wanted to go into Cyber Security, I wanted to learn some other programming languages, and had already learned Visual Basic and LSL (you're the only other person I know!). I learned Python and I highly suggest it. Once you've become familiar with the basics, I also suggest the book Violent Python. It teaches you a lot about penetration testing and hacking, with many examples to mess around with. Other than that, C is a very important fundamental language to a lot of cybersecurity related work. But I think, for now, Python is your best option. Also, you should learn to use Linux.
husoski
2015-08-20 10:09:50 UTC
In no particular order...



The main theater for the cybersecurity wars going on right now is the Internet, and most of that is running on Linux/Unix systems written primarily in C. So learn C at some point, and learn it well. Learning to work with Linux/Unix (or a Mac, since OSX is BSD Unix under the hood), plus some basics on networking concepts and terminology couldn't hurt, either.



The most dangerous security vulnerabilities are exploited through remote code execution, that operates at the assembly language level. Learn assembly language for x86/x64 Intel processors, and at least one other architecture (ARM, MIPS, Power, etc.)



A good, high-level language is also useful. I like Python a lot for this, but Perl has been a popular choice, on Unix/Linux systems particularly. Not my favorite, mind you, but I do like Perl's motto: "There is More Than One Way to Do It."



One way to get some Linux experience, and get a playground where you can learn ARM assembly language, is to get a Rasberry Pi. Save up for a starter kit rather than the bare $35 board. You'll spend as much on discrete components yourself and won't get instructions. Beware that, even with newer models featuring a 900 MHz 4-core processor, you'll be running significantly slower than any desktop or notebook. The $85 "Ultimate" kit from Vilros will also give you a breadboard where you can experiment with hardware-level programming. This is much like the domain that BIOS and embedded network firmware runs in.
?
2015-08-20 09:00:18 UTC
If you're going to learn about security you have to learn how computers work on a low (detailed) level. So I'd say learn C and C++.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...