Back in January, Jeremy Howard (of fast.ai fame) wrote up a blog post talking about why he was exploring using Swift for this purpose:
https://www.fast.ai/2019/01/10/swift-numerics/
The post is quite in-depth; but just to give a brief take on other potential languages:
8<---
Here’s my personal view of some languages that I’ve used and enjoyed, but all of which have limitations I’ve found frustrating at times:
Python: Slow at runtime, poor support for parallel processing (but very easy to use)
C, C++: hard to use (and C++ is slow at compile time), but fast and (for C++) expressive
Javascript: Unsafe (unless you use Typescript); somewhat slow (but easy to use and flexible)
Julia: Poor support for general purpose programming, but fast and expressive for numeric programming. ( Edit: this may be a bit unfair to Julia; it’s come a long way since I’ve last looked at it!)
Java: verbose (but getting better, particularly if you use Kotlin), less flexible (due to JVM issues), somewhat slow (but overall a language that has many useful application areas)
C# and F#: perhaps the fewest compromises of any major programming language, but still requires installation of a runtime, limited flexibility due to garbage collection, and difficulties making code really fast (except on Windows, where you can interface via C++/CLI)