<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    hello all<br>
    <br>
    I personally always had difficulties with perl ...<br>
    the code is generally very hard to read, and the language brings
    very quickly to tricky optimization only experts understood<br>
    python is a more generic language, very easy to learn and if we make
    the right basic object definitions, it will help a lot for future
    improvement and code structure<br>
    at CEA our admin tools like shine or cluster-shell are python based
    and this choice allows us in getting scallable/reliable tools<br>
    For example, the initial version of shine (~6 years ago) was perl
    based and we were pleased to move to python for the new design<br>
    <br>
    The target is lustre developers (ie kernel developers), it will be
    much easier for them to learn python than perl.<br>
    it will also be easier for them to get the right "python" way of
    programming than the right "perl" way of programming<br>
    (in both cases the worst way is to use the new language as bash,
    which can arrive much quickly with perl than with python)<br>
    <br>
    about python, what do you mean by non standard installation ? <br>
    if your python configuration is right, the local differences should
    be hidden to the test framework<br>
    <br>
    Bye<br>
    <br>
    JC<br>
    <br>
    <div class="moz-cite-prefix">On 10/23/2012 08:36 PM, Nathan Rutman
      wrote:<br>
    </div>
    <blockquote
      cite="mid:9E235E88-FAD1-44BF-A4DC-12A5801E0467@xyratex.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>At LAD'12 we proposed a plan for improving the Lustre test
        framework as an important part of the Lustre quality story.  One
        of the discussion points there was that the bash language of the
        current tests was lacking in a variety of areas.  We're moving
        forward with this work but need community agreement on the best
        course.  </div>
      <div><br>
      </div>
      <div>Given the requirements and language options below, the
        reasonable choices rapidly diminish to a showdown between perl
        and python.  I think we're leaning at this point toward perl,
        based on it's superior speed and inter-version compatibility.
         The final piece of the puzzle is the knowledge of existing
        Lustre test writers, so please chime in.  (But note that
        "popularity" is the reason we chose bash the first time, and
        look where that got us...)</div>
      <div><br>
      </div>
      <div>
        <div style="margin: 0px 0px 0px 12px; text-indent: -12px;
          font-size: 13px; font-family: Arial; color: rgb(81, 6, 0); "><span
            class="Apple-tab-span" style="white-space:pre"> </span>requirements</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>1. easy
          to use</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>2. strict
          structure</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>3. universally
          available</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>4. widely
          maintained</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>5. widely
          understood</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>6. good
          filesystem interface: posix API</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>7. fast
          - replace e.g. createmany with embedded function</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>8. operate
          remote instances</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>9.
          inter-version compatibility</div>
        <div style="margin: 0px 0px 0px 12px; text-indent: -12px;
          font-size: 13px; font-family: Arial; color: rgb(81, 6, 0); "><span
            class="Apple-tab-span" style="white-space:pre"> </span>options</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>bash
          - capable, but too flexible, easy to abuse</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>perl
          - forward compatible, universal, more widely understood,
          xperior, compact; hard to read later</div>
        <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
          font-size: 13px; font-family: Arial; color: rgb(0, 105, 107);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>posix::open,
          opendir, lseek, etc.</div>
        <div style="margin: 0px 0px 0px 66px; font-size: 11px; color:
          rgb(103, 103, 103); "><span class="Apple-tab-span"
            style="color: rgb(0, 105, 107); font-family: Arial;
            font-size: 13px; text-indent: -48px; white-space: pre; "> </span><span
            style="color: rgb(0, 105, 107); font-family: Arial;
            font-size: 13px; text-indent: -48px; ">parallel::MPI</span></div>
        <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
          font-size: 13px; font-family: Arial; color: rgb(0, 105, 107);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>~2x
          faster than python</div>
        <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
          font-size: 13px; font-family: Arial; color: rgb(0, 105, 107);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>more
          version compatible</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>python
          - very clear structure, swig module for c inclusion;
          non-standard installations, support</div>
        <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
          font-size: 13px; font-family: Arial; color: rgb(0, 105, 107);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>os.open:
          all c flags<span class="Apple-tab-span" style="white-space:
            pre; "> </span></div>
        <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
          font-size: 13px; font-family: Arial; color: rgb(0, 105, 107);
          "><span class="Apple-tab-span" style="white-space: pre; "> </span>MPI
          bindings</div>
        <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
          font-size: 13px; font-family: Arial; color: rgb(0, 105, 107);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>tab/space
          requirements make remote editing more difficult</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>cucumber
          - ruby based, difficult deployment</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>java
          - easy deployment, dev environ, debugger, fast; must compile</div>
        <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
          font-size: 13px; font-family: Arial; color: rgb(108, 103, 1);
          "><span class="Apple-tab-span" style="white-space:pre"> </span>ruby
          - compact</div>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>
        <div><a moz-do-not-send="true"
href="http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/">http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/</a></div>
        <div><a moz-do-not-send="true"
href="http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html">http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html</a></div>
        <div><a moz-do-not-send="true"
href="http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby">http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby</a></div>
        <div><a moz-do-not-send="true"
href="http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html">http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html</a></div>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Lustre-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Lustre-devel@lists.lustre.org">Lustre-devel@lists.lustre.org</a>
<a class="moz-txt-link-freetext" href="http://lists.lustre.org/mailman/listinfo/lustre-devel">http://lists.lustre.org/mailman/listinfo/lustre-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>