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".
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.
Scilab is one of the two major open-source alternatives to MATLAB, the other one being GNU Octave.[1][2][3][4] Scilab is similar enough to MATLAB that some book authors (who use it) argue that it is easy to transfer skills between the two systems.[5] Scilab however puts less emphasis on (bidirectional) syntactic compatibility with MATLAB than Octave does.[1][6][7]
I'm a control engineer by training, and to be honest there's really no equivalent to Matlab/Simulink right now for control system design. Fortunately I'm currently working on statistics/sensor-fusion related stuff, and Python works just fine for that.
(DISCLAIMER: I’m the guy that started SageMath.)
http://lists.gnu.org/archive/html/octave-maintainers/2017-09...
This follows up on this story:
https://news.ycombinator.com/item?id=13603575
Furthermore, reports of the death of Matlab (in favour of Python) have been greatly, greatly exaggerated.
MathWorks provides a way to call Python from MATLAB with the same simplicity as it can call Java. I don't think anyone declared MATLAB dead but it's a clear indication that they're losing ground.
Scilab doesn't try that exactly. They have their own syntax and some compatibility converter from Matlab code to Scilab code, but I don't thik it's as complete as Octave's.
As a sibling comment mentions, Scilab has Xcos which tries to be a modelling helper like Simulink and Octave has nothing comparable.
While I rarely develop things in Matlab, it is worth noticing that it is a very elegant way of expressing linear algebra and numeric oriented programs. Python is a vastly more useful language, but numerics are an afterthought, and expressing numerics is abominable in Python. When I'm looking up how to implement some classic numerics algorithm, the Matlab way is usually concise and its vector oriented operations are usually the right way to express it in any interpreted language, as it keeps you in Lapack-land (remember, Matlab's origins were a repl for Eispack/Linpack).
This is a really strange statement to me. Python has much better syntax for vectorised operations than Matlab. I have written a great deal of both (Python by choice, Matlab when required to), and in my experience almost everything numerical is easier to express in Python.
Numpy is in large part a thin wrapper over fast low-level libraries, but with an excellent well-designed interface, unlike the undesigned growth-by-accretion of Matlab.
Main website: https://julialang.org/ Cloud: https://www.juliabox.com/ "Batteries included" IDE: https://juliacomputing.com/products/juliapro
I'm wondering why there is no comment about the toolboxes in MATLAB. Several standard toolboxes are the main reasons, that I'm still staying in MATLAB.
I prefer Matlab, but Scilab is still pretty decent. I haven't tried Octave, so I can't compare the two of them.