For Speed, Python is Not The Best

--

To me, if you are into cybersecurity, you should not be locked into a specific programming language or environment for analysis, testing and tool creation. Basically, you should know all of the common languages and how they work. A great cybersecurity analyst should know Golang, Rust, Python, Node.js, Java, .NET/C# and .NET/Powershell, and should be continually prototyping in these languages.

Speed comparisons

The measurement of how fast something is, it is often relative to what you are measuring. Two cars might have a top speed that ranges from 100mph to 200mph, while two people cycling may have a top speed of between 10 mph and 30 mph. While the measurement of speed is absolute, the comparison is relative.

As you may know, Python is the most popular programming language, but it has four major weaknesses:

  • It is interpreted and thus much slower than a compiled language (such as C++, Golang and Rust).
  • As it is a script, it cannot be fully checked that it will not create an exception before it is run.
  • It has weak version control for library integration.
  • It can break easily.

Overall, I tend to prototype in Golang as it is a compiled language, and where I can compile to executable code. So let’s put…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.