Mailinglist Archive: opensuse-factory (745 mails)

< Previous Next >
Re: [opensuse-factory] Tumbleweed - Review of the week 2018/03
  • From: Aleksa Sarai <asarai@xxxxxxx>
  • Date: Sun, 21 Jan 2018 12:18:25 +1100
  • Message-id: <20180121011825.xn743xnelyvps4jv@gordon>
On 2018-01-20, John Paul Adrian Glaubitz <adrian.glaubitz@xxxxxxxx> wrote:
This is actually a huge change as librsvg is a core library with a large
number of reverse dependencies now partially written in a programming
language with limited architecture support.

Yes, I agree this is a problem -- maybe we should keep around an old
version of librsvg purely for "tier 2" architecture support?

Finally, one problem with Rust that I ran into when working on the
Rust compiler code itself is the high volatility of the language and the
code. Things that used to build fine with Rust 1.19 would break with
1.20 and so on. From a distribution maintainer's point of view, this
can be very tedious and annoying.

This is not correct for the *stable* compiler, because they provide
stability guarantees for it and they do regular "crater runs" (rebuild
every crate in the Rust ecosystem, checking if there are any new errors
or warnings). I find it quite improbable that you hit this issue in the
*stable* compiler (and if you did, it was a bug, and I hope you reported
it). The *unstable* compiler (by it's nature) doesn't provide any such
guarantees.

Overall, I think the move to memory-safe languages is generally a good
idea. However, I'm still a bit worried with the move to Rust as I think
the language isn't yet as stable as it should be for writing core libraries
in it.

My main concern with Rust at the moment is that their ecosystem is very
similar to Node. I was trying to write some simple tools in Rust for my
own usage, and found that for simple things like email message parsing
there are at least 5 libraries which are all incomplete or overly naive.
Compare this to Python or Go which has effectively one "common" library
that is great and widely used because everyone contributes to the same
thing. A common argument is that the Rust ecosystem is young, but I
think it's a symptom of their Node-like packaging design.

There are some examples of a "one good library", such as nix or tokio,
but those are the minority (from what I've seen). I hope this is
something that will improve in the near future, because it makes it
difficult to get started on a project (or maintain it).

--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
<https://www.cyphar.com/>
< Previous Next >
This Thread