Live data from Hacker News

Rust Foundation: Hello, World

foundation.rust-lang.org

191–200 of 284 posts

Re: Rust Foundation: Hello, World

#191
post #184

Earlier quoted context omitted.

I find it puzzling that aws uses rust so much yet don't have an official rust aws sdk

I don't think any of these companies use Rust much. You may find teams here and there using it but the vast majority of the Rust type stuff is written in C++ or Java.

It depends on what you mean by "much." If you mean "as a volume of LOC of total software development," absolutely. But if you mean "not being used for anything big" or "not being used for anything important," that is very much wrong.

Re: Rust Foundation: Hello, World

#192
post #184

Earlier quoted context omitted.

I don't think any of these companies use Rust much. You may find teams here and there using it but the vast majority of the Rust type stuff is written in C++ or Java.

Firecracker is written in rust and is from Amazon.

Firecracker being a modified fork of Google’s crosvm project.

Re: Rust Foundation: Hello, World

#193

Announcements also from Mozilla, Amazon and Microsoft: https://blog.mozilla.org/blog/2021/02/08/mozilla-welcomes-th... https://aws.amazon.com/blogs/opensource/congratulations-rust... https://cloudblogs.microsoft.com/opensource/2021/02/08/micro...

I find it puzzling that aws uses rust so much yet don't have an official rust aws sdk

That metric doesn't really matter for that purpose. If AWS gets enough customer requests to warrant building a rust SDK, they'll do it. It doesn't have much to do with internal rust adoption at AWS.

Re: Rust Foundation: Hello, World

#194
The decision to partially "let go" of Rustlang as an asset on some level makes Mozilla something like the anti-Google. If Mozilla make this a habit, they'll come closer to achieving their mission, and the spirit of FOSS. It's a worthy goal, using your power to spin off great pieces of software into independent organizations. I mean, even old "Micro$oft" now knows that open source is more of an asset to them than a competitor. Good to be coding in a time like this. :)

Re: Rust Foundation: Hello, World

#196

Earlier quoted context omitted.

The "proper" comparison (that would still be horribly misguided) would be against the "core" crate in ripgrep. And that's only 5kloc, a lot of it from the "app.rs" (3kloc) and "args.rs" (1.2kloc) which is almost only declarative usage strings. The "actual" code of ripgrep is accross its multiple support crates, which the community largely benefits from having since those are general enough to be almost foundational t…

I'm trolling because there is no doubt in the mind of Rust fanboys that if ripgrep was a feature-for-feature replica of grep, in some parallel hypothetical universe, it would for sure have less code-size complexity. Got it.

ripgrep author here.

No, you're trolling because you're being disingenuous and unnecessarily inflammatory. Your LOC counting, in particular, gratuitously misses the mark for a number of reasons.

Firstly, as others have pointed out, the features in GNU grep and ripgrep are radically different. GNU grep, for example, doesn't have anything that the `ignore` crate provides. So on this point alone, a simple LOC comparison falls flat. For example, does more lines of code imply that code complexity is higher? Not necessarily. Try reading and understanding the code itself. Obviously I'm biased, but I think folks would have an easier time with ripgrep than with GNU grep.

Secondly, ripgrep does a lot more than GNU grep does in order to make more searches faster. This ranges from parallelism, to differing search strategies (mmap vs standard read calls) to pattern analysis for better literal optimizations and more involved SIMD algorithms and better performance in the face of Unicode. (In addition to supporting a lot more of Unicode than GNU grep does.) Making programs run faster often leads to greater code complexity. Such a phenomenon, ironically, is easy to observe when comparing GNU tools with other coreutils implementations from BSD or busybox.

Thirdly, the way in which you counted lines is weirdly arbitrary. For example, GNU grep uses a lot of code from gnulib, including but not limited to, an entire regex engine. (It used to be part of GNU grep proper, so if you had done this analysis a few years ago, your LOC count would be at least double than what you came up with. Which supports my previous point: GNU grep's special lazy DFA internal regex engine only exists for performance reasons.)

Fourthly, I made a decision to make a lot of ripgrep's internals generic over both the regex engine and the printer. This was to make it possible for others to use those libraries, but also to make it easier to support plugging other regex engines into ripgrep. The official ripgrep distribution, for example, comes with both Rust's regex engine and PCRE2. But it goes beyond that. Someone even maintains a fork of ripgrep[1] that uses Hyperscan[2] to make it faster in some cases. The fact that this is even plausible to do is only because much of ripgrep's core is, in fact, generic. Making things generic tends to require more code and more complexity. I made this trade off intentionally.

Fifthly, your LOC counts include a ton of tests for ripgrep, where as your GNU grep LOC count presumably does not. For example, about half the LOC in the `printer` crate are tests. And that's just at a library level. Does GNU grep even have library level tests at all? A cursory glance suggests it does not.

Sixthly, in the course of developing ripgrep, I made a conscious decision to contribute back to the Rust library ecosystem. As a result, several of ripgrep's libraries are now used in Cargo and rustc itself, among many other tools. GNU grep has no such goal beyond the GNU project and their gnulib itself. Writing more tightly coupled application level code would make the code much tighter. (Which you can observe for yourself by looking at the evolution of ripgrep. It started off with a lot more tightly coupled application level code.)

There are probably more reasons why your comparison falls flat, but this is what I could come up with quickly before going to bed. In particular, the choice of programming language is but one factor in overall code complexity. Design goals and other such things arguably have even more of an impact. Thus, your analysis is shallow, and the lack of self-awareness of this fact combined with your inflammatory marks and seeming certainty of your position are why you are a troll.

[1] - https://sr.ht/~pierrenn/ripgrep/

[2] - https://github.com/intel/hyperscan

Re: Rust Foundation: Hello, World

#197
post #52
post #46

Earlier quoted context omitted.

It seems no one had to rebrand Rust yet, but can you guarantee this will always be the case? Firefox was fine in debian until 2006.

But why? Python has been going for decades without issue. https://www.python.org/psf/trademarks/

No, Python is dead because the maintainers decided to create a new, defective, language with a intentionally-misleading name, and then threatened trademark lawsuits against anyone who kept maintaining the original. That sort of thing is (I assume) why lvass was asking about trademark waivers in the first place.

Re: Rust Foundation: Hello, World

#198

Earlier quoted context omitted.

Algebraic data types[0], compile-time thread safety guarantees[1], async/await on embedded[2], type inference that can work backwards[3], blocks are expressions so you can return values from if statements[4], returning from while(true) loops[5], and iterators[6] that don't kill performance[7]. [0]: https://doc.rust-lang.org/book/ch06-01-defining-an-enum.html... [1]: https://doc.rust-lang.org/book/ch16-04-extensible-c…

Hmm, have you ever finished any real world scale product in it? All those things you mentioned are mostly toys that mostly inexperienced programmers are only excited with. RUST lacks in real world scalability and applicability, it's still toy language even after years of development.

I think there are quite a lot of real world scale projects written in Rust... At least for me as an embedded developer, Rust is really superior to C/C++. Although the ecosystem is not that mature and lacks vendor support, it is easier to read/write in Rust and expect the code to work.

Do you have any features that you think experienced programmers are excited with? Or features that are required to provide real world scalability and applicability?

Re: Rust Foundation: Hello, World

#199

Announcements also from Mozilla, Amazon and Microsoft: https://blog.mozilla.org/blog/2021/02/08/mozilla-welcomes-th... https://aws.amazon.com/blogs/opensource/congratulations-rust... https://cloudblogs.microsoft.com/opensource/2021/02/08/micro...

Why make the Rust Foundation be its own corporate entity, instead of a project within another major non-profit like the Software Freedom Conservancy? (For those not familiar, SFC is the home of Git, Godot Engine, Homebrew, Inkscape, QEMU, and Wine.) My worry would be that this is happening because Amazon, Google, and Microsoft want control over the foundation. (They are writing the checks, so no surprise they'd want…

They have an unhelpfully generic answer to that in their FAQ: "After spending a significant amount of time researching potential umbrella organizations, we decided that our best option was to incorporate an independent entity. Rust is a technology and community that is value driven and we simply didn’t find an organization that we felt was aligned with our community goals. This does mean more work for us, especially upfront, but we think the tradeoff is worth it."

https://github.com/rust-lang/foundation-faq-2020/blob/main/F...

As they are registering as a 501(c)6, I would assume that tax reasons would have impacting their decision not to join the SFC.

Re: Rust Foundation: Hello, World

#200
post #161

Earlier quoted context omitted.

I‘d love to see Apple joining. They already have the hand on LLVM and support things indirectly, but... There is no reason that serious things written in Rust can‘t coexist with app-y stuff in swift. Seriously, I think we all would benefit enormously from some consolidation, especially on such a great foundation like Rust. Think investments like: compiler-optimizations like V8, portability like C, enterprise grade to…

We don't need monocultures.

If everyone uses the same language, they're all going to write the same bugs! /s
Post reply on HN