On 05/10/2016 07:08 PM, Flavio Percoco wrote:
On 10/05/16 13:52 -0400, Adam Young wrote:
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.

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.

Python has long held the option to optimize to native as the way to deal with performance sensitive segments.

The question, then, is what language are you going to use to write that perf sensitive native code?

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.

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.

Rust is not there yet. I like it, but it is tricky to learn, and the packaging and distribution is still getting in place.

I disagree ;)
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.


But really I was attempting to curb my enthusiasm for Rust, as it is not the language under discussion here.



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.

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.

I disagree! I don't believe Go will take on C++ but for the sake of keeping this
thread a bit sane, I won't go into details here.
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.

Yes, yes, Rust would also work, but they are not asking about Rust. Curb your enthusiasm, too, Flavio!




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.

I honestly don't think the above is a good enough motivation to start such a huge change in the community. I mean, really, I'm not opposed to Go and I'm less
opposed to Rust.

As I've mentioned in other replies on this thread, there's more to it than just
the service specific needs. Infra, CI, Packagers, OPs, *community*.

Flavio


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to