1.1. Why Python?

A programming language for scientific purposes should fulfill a number of criteria:

  • Easy to learn

  • Open-source and available free of charge

  • Well-developed stack of scientific/mathematic routines

  • Large and vibrant user community, providing help online for nearly everything

  • Cross-platform available and compatible (at least Windows, Linux, macOS)

  • Integrates well with existing workflows

  • General-purpose

  • Future-proof

Python fulfills all these criteria. Sure there are other languages as well that can be used for these tasks. However, Python is an excellent choice.

Note

The criteria listed above are not arbitrary, but the result of long-standing experience of the author. You may weight different criteria differently, and additional aspects may be important to you, while some of the points listed above may seem unimportant to you. That’s fine. I will not argue. I just came to value those criteria listed above as essential.