<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 05/10/2016 07:08 PM, Flavio Percoco
      wrote:<br>
    </div>
    <blockquote cite="mid:20160510230839.GH12804@redhat.com" type="cite">On
      10/05/16 13:52 -0400, Adam Young wrote:
      <br>
      <blockquote type="cite">Forget package management for a moment; 
        we can figure it out if we need to.  The question is "Why Go"
        which I've pondered for a while.
        <br>
        <br>
        If you need to write a multithreaded app, Python's GIL makes it
        very hard to do.  It is one reason why I pushed for HTTPD as the
        Keystone front end.
        <br>
        <br>
        Python has long held the option to optimize to native as the way
        to deal with performance sensitive segments.
        <br>
        <br>
        The question, then, is what language are you going to use to
        write that perf sensitive native code?
        <br>
        <br>
        To date, there have been two realistic options, Straight C and
        C++. For numeric algorithms, there is a large body written in
        Fortran that are often pulled over for scientific operations. 
        The rest have been largely one-offs.
        <br>
        <br>
        Go and Rust are interesting in that they are both native, as
        opposed to runtime compiled languages like Java and Python. 
        That makes them candidates for writing this kind of performance
        code.
        <br>
        <br>
        Rust is not there yet.  I like it, but it is tricky to learn,
        and the packaging and distribution is still getting in place.
        <br>
      </blockquote>
      <br>
      I disagree ;)
      <br>
    </blockquote>
    OK, you know I am a RUSTifarian.  But Packaging is a real issue in
    Fedora, as the Rust compiler is not packaged yet, and thus all the
    downstream.<br>
    <br>
    <br>
    But really I was attempting to curb my enthusiasm for Rust, as it is
    not the language under discussion here.<br>
    <br>
    <br>
    <blockquote cite="mid:20160510230839.GH12804@redhat.com" type="cite">
      <br>
      <blockquote type="cite">Go has been more aggressively integrated
        into the larger community. Probably the most notable and
        relevant for our world is the Kubernetes push toward Go.
        <br>
        <br>
        In the cosmic scheme of things, I see Go taking on C++ as the
        "native but organized" language, as contrasted with C which is
        native but purely procedural, and thus requires a lot more work
        to avoid security and project scale issues.
        <br>
      </blockquote>
      <br>
      I disagree! I don't believe Go will take on C++ but for the sake
      of keeping this
      <br>
      thread a bit sane, I won't go into details here.
      <br>
    </blockquote>
    This is the core of the matter:  they want to build something
    native, performance, and threadable.  The options thus far are C or
    C++, and I would expect people that got to C to continue to do so; 
    their rationale still holds.  In the past, I would have suggested
    people use C++ for an Object oriented and structured code base, but
    Go is a viable native alternative unlike ones we've had in the past.<br>
    <br>
    Yes, yes, Rust would also work, but they are not asking about Rust. 
    Curb your enthusiasm, too, Flavio!<br>
    <br>
    <br>
    <blockquote cite="mid:20160510230839.GH12804@redhat.com" type="cite">
      <br>
      <blockquote type="cite">
        <br>
        So, I can see the desire to not start supporting C++, and to
        jump right to Go.  I think it is a reasonable language to
        investigate for this type of coding, but committing to it is
        less obvious than Javascript was:  with Javascript, there is no
        alternative for dynamic web apps, and for native, there are
        several.
        <br>
      </blockquote>
      <br>
      I honestly don't think the above is a good enough motivation to
      start such a
      <br>
      huge change in the community. I mean, really, I'm not opposed to
      Go and I'm less
      <br>
      opposed to Rust.
      <br>
      <br>
      As I've mentioned in other replies on this thread, there's more to
      it than just
      <br>
      the service specific needs. Infra, CI, Packagers, OPs,
      *community*.
      <br>
      <br>
      Flavio
      <br>
      <br>
      <blockquote type="cite">
        <blockquote type="cite">
          <br>
__________________________________________________________________________
          <br>
          OpenStack Development Mailing List (not for usage questions)
          <br>
          Unsubscribe:
          <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
          <br>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
          <br>
        </blockquote>
        <br>
        <br>
__________________________________________________________________________
        <br>
        OpenStack Development Mailing List (not for usage questions)
        <br>
        Unsubscribe:
        <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
        <br>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
        <br>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>