While I applaud Python to have established a well-designed[1] layer on top of the math/numeric libraries written in Fortran, C and C++, I hope that one day Rust will smoothen the corners.
While Rust might not become a replacement for the Python layer, it may replace the C/C++/Fortran layer with all their speed and low-level optimization, yet provide good (and especially safe!) abstractions on top of that.
Currently, people try to use C++ to fill that gap, but I'd love to see Rust's type system, borrow checker and macro system, instead of C++ templates.
It also forces you to know what's happening under the hood though. If learning the material comprehensively is your goal I think it's not a bad idea to dig in to a c implementation.
Javascript is the kitchen hand that you taught how to chop vegetables. Yesterday you asked him to chop wood, and you've spent all of today trying to figure out why your kitchen knives are dull.
Done well it looks amazing, elegant, and efficient, but in the wrong hands you'll lose your hands.