<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>