Why I still use Python for high performance scientific computing

Python is a great high level language for easily expressing ideas, but people don’t tend to think of it as a high performance language; for that you would want a compiled language — ideally C or C++ but Java would do. This notebook started out as a simple benchmarking of the hdbscan clustering library written in Python against the reference implementation written in Java. It still does that, but it has expanded into an explanation of why I choose to use Python for performance critical scientific computing code.

Source: Jupyter Notebook Viewer