Scilab development started from the same Fortran code Matlab did, around the same time; also it rarely attempts to copy Matlab syntax or behaviour. (I'm just saying it should be seen more as an alternative to Matlab, not a copy.)
I personally would tend to agree that developing in a general purpose language is better for most problems but an imperative math-oriented language that's simple to apprehend remains a large use-case for scholars and engineers. For that I feel that the rewrite of most of the code in the past few years has been a worthwhile endeavour.
As for the alternative I'd say, Julia is (will be) a good choice also. Long in the making with a beautiful syntax which somewhat resembles Matlab. Sound "inner" foundation. And speed. Speed like no other dynamic language (important with increasing data abundance). Friendly and helpful community.
But then, I remember a computer vision teacher 3 years ago laughing at the idea of using Python instead of Matlab as Matlab is the "obvious industry standard".
The two arguments that speak for Julia from a user perspective (there exist much stronger arguments for package developers).
a; Low overhead interoperability with Python, R, C and Fortran (and C++); You don't need to rewrite your code and you can start using Julia and slowly transition.
b; User code as fast as package/base library code. You are not stuck with what already exists.
I think these are areas where the 2-language model makes Python quite a bit less productive than Julia.
Example: in Julia I can easily define my own primitive type, let's say a ModInteger (an old video is here [2]) and it will be as fast as a normal "built in" integer in a for loop (and benefit from possible speedups: simd, parallelization, cuda, GPU - but don't have (much) experience in this area).
Likely such a ModInteger couldn't be as easily integrated in Numba?
[1]: https://discourse.julialang.org/t/julia-motivation-why-weren... [2]: (2013) https://www.youtube.com/watch?v=rUczbQ6ZPd8 (at ~37:00 mins)
The other place where Julia might see better speed is when you have an optimization algorithm and the objective function both written in Julia, which allows for optimization across functions, whereas in Python you could write a fast objective function with Numba but couldn't optimize across function call with the optimizer written in Fortran.
Julia's adoption rate is really impressive compared to R or things like numpy, etc. so I'm not worried about that. But I do think it will have to contend with a number of competitors in the same space.
Matlab is a tremendously poor ecosystem. Not flexible at all in terms of libraries, slow, closed source and poorly designed as a language.
You could just see what Python has achieved in the last years as a scientifical tool: awesome libraries, interfaces with web/mobile applications, tons of rich courses/tutorials.
I hope it teaches other fields that open source can really be key in making tremendous progress.