Why Python?

  • Python is a high-productivity language. That means, it’s designed (from the ground up) to do a lot with very little typing/code. Python syntax is simple, avoiding strange symbols or lengthy routine specifications that would divert the reader from mathematical or scientific understanding of the code.

  • Python is interpretted, like IDL or Matlab, so you don’t need to compile your code for it to run. You just need python on your system. That also makes Python portable!

  • Python has a “batteries included” philosophy. There is a rich collection of already existing bricks of classic numerical methods, plotting or data processing tools in Python ecosystem. We don’t want to re-program the plotting of a curve, a Fourier transform or a fitting algorithm. Don’t reinvent the wheel!

  • Python ecosystem provides Python numerical modules that are computationally efficient. But needless to say that very fast code becomes useless if too much time is spent writing it. Python aims for quick development times and quick execution times.