The counterintuitive rise of Python in scientific computing (2020)
C, C++, Fortran are still used, most Python users just don&#x27;t see it because it&#x27;s hidden away underneath the calling function.<p>I&#x27;ve been surprised by the rise of Python in some ways although not at all in others. Languages like C, C++, Fortran, and dare I say it Rust are too low-level in their raw state for numerical computing. You had the US federal government funding language competitions because of this (see: Chapel). Languages like Python and R (and before that things like Lisp) came along and gave people a taste of something different, and it&#x27;s obvious what people migrated to.<p>Part of it is timing: multivariate computational statistics (ML&#x2F;data science&#x2F;DL&#x2F;whatever you want to call it) just sort of started taking off in computer science communities before LLVM-based languages like Julia or Nim could get a foothold. OCaml might have fit that niche but never got there because of a desire to take a different path, or take the path more slowly.<p>So people looked for a nice expressive language, found it in Python, and buried all the messy stuff behind wrapper functions and called it a day. It was furthered along by Matlab being another comparison on the other side -- Python looks kludgy compared to modern Fortran or C, but not compared to Matlab.<p>All that wrapper time in Python has its costs, so I suspect as limits get pushed further we&#x27;ll eventually see a migration to something else like Julia or Nim, or something else not on anyone&#x27;s radar.<p>One moral to this story is that expressiveness matters. People will go out of their way to avoid talking directly to machines at a low level.