11 AnswersNew Answer
Cyber security has many aspects, not only penetration testing. Execution speed is not the only factor that matters, and there are also ways to make Python code more performant (see: Cython). Python has loads of libraries which are very useful in this area, including cryptography, web automation, and machine learning. In addition, writing and deploying Python code is quick and simple. Some resources: https://startacybercareer.com/python-useful-for-cyber-security/ https://www.coursereport.com/blog/python-for-cyber-security-with-flatiron-school https://flatironschool.com/blog/best-programming-languages-cyber-security/ Summary: in my opinion it is a good idea to learn Python as a first language for cyber security. You can always add more to your toolbox later, if you feel the need.
Yes, python can be a good choice, you will need a lot of scripting along the way from bottom to top and python is the most popular one, also many tools that you will use are written in python so you can read their source and understand what they are doing, and also it is a good choice for starting programming and understanding algorithms and to open your mind and wrap your head around these topics
Thank you all for the responses. Basically what im gathering here is that its an easy language to learn and has a lot of purpose, but it may make other languages much harder to grasp later down the road. I think im going to take the risk of having a harder time down the road because in addition to learning this, I only have a little over a year to get several cyber sec certs before getting out of thr army. I think itll look better on my end if I can atleast know one language like python, instead of only knowing a little of C+ or another language.
Python has it's place in cybersecurity. I agree that it probably should not be the first language you learn, but it is a good tool to have. The two things I have found that I use it for the most is writing up a quick script to solve a smaller problem where the code will likely not be re-used, and, I maintain a number of scripts for different API's that I use. I use python for the API's specifically, because the vendors for the software maintain python libraries for using their API's, but also because I can open the script and make changes based on each task that I need to perform without having to recompile each time. As far as popularity, I think that is debatable. To say it is any only language with certainly, seems dishonest. If you google it, you can find something about any language being the best/most popular. The languages most commonly included in those searches nearly always include python. One of my best programming classes focused on teaching us how to understand different programming paradigms. We learned how to solves problems in different ways with different languages. It was easy to see that some languages are better at certain tasks than others, and it helped us understand that once we know how to solve the problems, picking up a new language is mostly a matter of syntax. All that to say, probably don't learn python first, but try to pick it up at some point.
Jacob Tracey I see your point and I admit I do not have this kind of pedagogical experience in teaching different programming languages. It is only my intuition, that in cyber security, at least in some part of it, the goal is not to build massive maintainable code bases, but quick prototyping and experimentation with ideas, and a scripting language such as Python seems like a great tool to do this.
Heard that Perl is a good language for cyber-security, specially for cryptography.