<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Concerning my assertion that Python outshines Scilab & co in
many other areas,</p>
<ul>
<li>being a general purpose language, I feel that Python has a
broader range of application. For instance, for creating a
web-app, Scilab would certainly not be my first choice, while
Python is commonly used for that purpose. <br>
</li>
<li>Python enables to write object-oriented code and has some
features from functional programming that are quite nice. While
Matlab and Octave have some "solid" OO features (at least, its
enough for what I'm doing with it), Scilab is lacking with
respect to this point. For functional programming, all other
environment are far behind what Python has to offer. For
instance I find that expressions as <br>
</li>
</ul>
<blockquote>
<blockquote>
<pre><span class="n">stripped_list</span> <span class="o">=</span> <span class="p">[</span><span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">line_list</span> <span class="k">if</span> <span class="n">line</span> <span class="o">!=</span> <span class="s2">""</span><span class="p">]
</span></pre>
</blockquote>
</blockquote>
<blockquote>are really elegant and readable. More generally,
manipulating lists in python is made really easy.<br>
I really enjoy lists in Scilab. They feel more coherent to me than
cells in Matlab, but I wish they had more python-like features.<br>
</blockquote>
<ul>
<li>I feel that interfacing with other languages is easier with
Python than with Scilab/Matlab/Octave.</li>
<li>Packages, modules and namespaces enable to create very clear
structures.</li>
</ul>
<p>Besides, I could not agree more with you concerning bad
syntaxes/redundancy. Having a coherent environment is important.</p>
<p>A step towards this goal may be to update and complete the <a
href="https://wiki.scilab.org/Code%20Conventions%20for%20the%20Scilab%20Programming%20Language?action=info">code
convention for Scilab</a> in a similar fashion to <a
href="https://www.python.org/dev/peps/pep-0008/">Python PEP</a>?<br>
</p>
Regards,<br>
<br>
Pierre<br>
<br>
<div class="moz-cite-prefix">Le 02/03/2017 à 23:23, Samuel Gougeon a
écrit :<br>
</div>
<blockquote cite="mid:78a30563-7847-c66d-5e17-76635cf97e73@free.fr"
type="cite">Hello Ricardo,
<br>
<br>
Le 02/03/2017 à 19:33, Ricardo Fabbri a écrit :
<br>
<blockquote type="cite">Speaking from experience:
<br>
<br>
It is worth mentioning that in many ways performance is not
critical
<br>
for a "lab" language like Scilab or Matlab. It is just an
extremely
<br>
simple language to test concepts and algorithms at a very small
scale
<br>
of granularity. The real crucial factor for Scilab or Matlab is
the
<br>
GUI for exploring data and developing algorithms interactively.
Once
<br>
you have a working solution, you'll fit it inside a bigger and
more
<br>
relevant
<br>
system by porting promptly to a language like C++ for
scalability and speed.
<br>
<br>
Just use Scilab for what its worth, don't obsess with speed,
even
<br>
though it is important.
<br>
</blockquote>
<br>
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.
<br>
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.
<br>
<br>
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.
<br>
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.
<br>
<br>
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.
<br>
<br>
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.
<br>
<br>
Best regards
<br>
Samuel
<br>
<br>
_______________________________________________
<br>
users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
<br>
</blockquote>
<br>
</body>
</html>