Earlier quoted context omitted.
I think it's clear to me that Rust needs to start admitting more into the STD to help with this and increase the consistency across the ecosystem.
This has happened already. See https://doc.rust-lang.org/std/cell/struct.LazyCell.html It's just it's not frequent. There is very few things that need to be in the standard library. I only ever miss chrono or equivalent not being in std.
The Rust Foundation Maintainers Fund
51–60 of 110 posts
Re: The Rust Foundation Maintainers Fund
#52Earlier quoted context omitted.
This has been tried a few times, and in practice, people prefer the current status quo.
I'm not aware of the attempts, but at least the route of adding more to the stdlib seems even worse, although it may be popular .
Re: The Rust Foundation Maintainers Fund
#53Earlier quoted context omitted.
Nope. I won't work with people who think my friends shouldn't exist. And I won't work with people who think doing that is somehow childish.
Imagine the flip side. We could easily wind up in that world too. The best defense against polarization is a strong and cohesive middle ground. If you pull to far in the other way, all the bonds break. And it's a race for each interest group to seize power, rather than having some intermediating force that serves as a buffer. Again: look at the political climate. It's a reaction. The pendulum is swinging harder and h…
Oftentimes, the voices are outside.
I think you're somewhat optimistic, and "the middle ground" is not a magical place. It's easy to fall into a false sense of security that comes from making (likely valid) criticisms of caricatured groups. Middle ground should not be sought for its own sake, or else it becomes useless (akin to Goodhart's law; roughly "when a measure becomes a target, it ceases to be a good measure"). People should embrace a diversity of values, but the burden is to stay true to a set of values and push for the truth.
Re: The Rust Foundation Maintainers Fund
#54[flagged]
I don't agree with some points, but I share the feeling in terms of "failed promises". The fact that most well-known Rust crates are becoming huge bloat are becoming a problem to me, which is something that has been critized years again by the community itself. As an example, I still do not understand why simple HTTP crates require more than 50 to 70 dependencies to execute a simple GET call...
Looking at ureq [0], for example, its direct non-build/non-dev dependencies are (counting duplicates):
- base64
- flate2 (4 transitive dependencies)
- log
- percent-encoding
- rustls (26 transitive dependencies)
- rustls-pki-types (1 transitive dependency)
- ureq-proto (7 transitive dependencies)
- utf-8
- webpki-roots (2 transitive dependencies)
The vast majority of the raw dependency count comes from Rustls and related crates, and I'd imagine reimplementing a TLS stack would be somewhat out of scope for an HTTP crate. I'm not sure there's much room for substantial reductions in dependency count otherwise.
Re: The Rust Foundation Maintainers Fund
#55[flagged]
I don't agree with some points, but I share the feeling in terms of "failed promises". The fact that most well-known Rust crates are becoming huge bloat are becoming a problem to me, which is something that has been critized years again by the community itself. As an example, I still do not understand why simple HTTP crates require more than 50 to 70 dependencies to execute a simple GET call...
Insisting that you should depend on code which itself has no dependencies is a bit hypocritical if you ask me. If you want a simple HTTP crate that doesn't have dependencies, you should follow your own philosophy of not using other crates and write it yourself.
Re: The Rust Foundation Maintainers Fund
#56Earlier quoted context omitted.
This has happened already. See https://doc.rust-lang.org/std/cell/struct.LazyCell.html It's just it's not frequent. There is very few things that need to be in the standard library. I only ever miss chrono or equivalent not being in std.
If Chrono were in std, that would have been a disaster IMO.
Re: The Rust Foundation Maintainers Fund
#57Earlier quoted context omitted.
If Chrono were in std, that would have been a disaster IMO.
Not exactly chrono crate (to quote "chrono or equivalent"). More like Java's version of chrono.
Re: The Rust Foundation Maintainers Fund
#58Why doesn't Zig attract the same sort of lukewarm response that Rust does from parts of communities?
It isn't all of the objection, but there is a non-neglible amount of anti-woke people who find some weak technical reason to hate rust. It's silly but you'll be amazed in how often you see it line up when checking a random sampling of people who show up in rust threads just to make off topic complaints about rust. EDIT: I hadn't fully gone through the comment section on this one yet and yikes it's worse about it than…
Re: The Rust Foundation Maintainers Fund
#59Why doesn't Zig attract the same sort of lukewarm response that Rust does from parts of communities?
C language is strongly tied to Unix ecosystem. C language and current compilers give this illusion of "ultimate control" to the programmers (although C has been interpreted quite freely for the sake of optimizations). With GNU C compiler finding a niche (i.e. being a free as in beer C compiler and a userland that's not bounded by the original Unix or BSD licensing / patents) and taking off in many servers the beliefs were kind of validated.
Rust attacks those beliefs in multiple fronts:
First and foremost, Rust comes from an inherent distrust to the programmer's abilities to write secure software. Rust creates strong obstacles against writing "magic" programs that freely interpret memory. Programmers are not treated as gods but fallible mortals who needed to be guided. Many C programmers interpret this as an insult to their abilities to manually check and verify a program. Rust is no less capable than C, it has all sorts of escape hatches that can be used in performance critical parts.
Rust compiler itself and the most of the programs written in Rust are permissively licensed. This is to avoid possible issues with copyleft licenses combined with statically linked binaries. Without having a stable ABI or ability to incorporate third party libraries post-build, GPL and LGPL create hurdles that doesn't exist in the mostly dynamically compiled world of C.
Rust has a more equal regard of the operating systems, including non-POSIX ones like Windows. Despite most people in the world interact with non-POSIX APIs the most, accepting it as another step.
Rust community tries its best to create a safe space for marginalized parts of the society. Go to any Rust conference and you'll see an over-representation of LGBTQ people. This probably rubs majorly white male subset of strongly identifying C programmers up wrong way.
The community also welcomes a bunch of different ways of thinking and questioning the basics of every single decision we made when we were building the systems of today.
Zig, on the other hand doesn't attack any of those "base principles". It fixes the most annoying parts of C programming: fluid integer types, really weak type system, hostile dependency management. It still trusts the programmer 100%. The default behavior is still unsafe.
People who choose Rust are also particularly worried about the security of the programs and they would like to prove and validate the language's existence and goals. They do that by reimplementing very popular and very senior projects in Rust and compare its performance and safety against existing C projects too. Many such projects have enjoyed a long time of no competition and now there is one.
Re: The Rust Foundation Maintainers Fund
#60Earlier quoted context omitted.
> non-political community "Non-political community" is an oxymoron, like "non-aquatic lake". Politics is the verb that communities do.
> "Non-political community" is an oxymoron No it's not. I'm an LGBT person with a trans partner and I find many codes of conduct to be chastising and purposefully finger pointing to conservative people. A lot of them are basically, "your religious teachings or cultural upbringing aren't welcome here" I don't agree with religious texts, but that's what you're wagging in their face with some of the CoCs. Leave it at "d…
When saying these things out loud can be social suicide, well, it means a lot to see someone else say it first. So thanks. I hope tolerance can come back into fashion.