[Scilab-users] Matlab vs Scilab perf
Samuel Gougeon
sgougeon at free.fr
Thu Mar 2 23:23:46 CET 2017
Hello Ricardo,
Le 02/03/2017 à 19:33, Ricardo Fabbri a écrit :
> Speaking from experience:
>
> It is worth mentioning that in many ways performance is not critical
> for a "lab" language like Scilab or Matlab. It is just an extremely
> simple language to test concepts and algorithms at a very small scale
> of granularity. The real crucial factor for Scilab or Matlab is the
> GUI for exploring data and developing algorithms interactively. Once
> you have a working solution, you'll fit it inside a bigger and more
> relevant
> system by porting promptly to a language like C++ for scalability and speed.
>
> Just use Scilab for what its worth, don't obsess with speed, even
> though it is important.
I agree: Matlab, Scilab, Octave, IDL, GDL.. Yorick etc were and are
still first made for prototyping, not for speed. This is why they were
back to interpreted -- and so slower -- languages.
But they should not have any handicapping snail instructions for common
frequently used ones like scf(). Loosing time gained with an easy
language avoiding to declare each object type and to compile and link
the whole thing each time that we change a semicolon in the code...
would be meaningless.
So yes, i definitely agree: it is a matter or ergonomic for GUIs but
also and first for the language (regular namings, rational order of
arguments, etc) that make it easy to learn and use. This is somewhat why
i never really got inside python (and sciPy). I felt its syntax not
straightforward to learn, even for simple things. Same thing for R. And
it's always the same feeling when i try to compare results from these
various languages -- including javascript --, for instance to extend
Scilab or debug it, seeing usages or conventions the most used
elsewhere. Each time, it is quite harder for me to find and understand
the relevant syntax with Python and R, while for instance i find
javascript more intuitive.
This is why i don't know much about Python. When Pierre writes "Python
outshines Scilab/Octave/Matlab in many other areas.", i would be
interested to know more about that.
I agree with you, Pierre, about the whole environment. This is why, on
this aspect, we could have a specific discussion about which modules --
with which components -- should rather compose "Scilab core", and which
features could be distributed rather on ATOMS. I am not convinced that
the current "Scilab core" composition is optimal. IMO, it is quite
unbalanced by historical or particular influences.
As a conclusion, i think that introducing non-optimal syntaxes or
duplicates etc in the language hurts much more than introducing a quite
slow algorithm. Simply because the algorithm can be changed later
without breaking anything, while introducing badly designed syntaxes or
usages is much harder to manage afterwards, and impedes much more
learning, using and maintaining the language.
Best regards
Samuel
More information about the users
mailing list