There is little room for a static general programming language designed for scientific computation in 2020. C/Fortran/C++ already do a good job at providing minimal abstraction and optimizing numerical programs. Making the syntax prettier doesn’t make much sense.
I think one future direction of the scientific computation is to do more code generation and micro optimization, which is not quite well studied and doable before the widespread of LLVM. We already know how to design a optimized program in a static type system. However, for some specific problems it would be helpful to spend some time to compile a specialized code and apply some special transformation. Traditionally this is done by some DSLs. But DSL doesn’t share a common internal IR, which is not composable. In Julia, optimizations can be provided as a library function or macro, e.g. LoopVectorization.jl, so they act just like a compiler pass, which lowers the threshold for people to optimize their codes.