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.
Rust Foundation: Hello, World
191–200 of 284 posts
Re: Rust Foundation: Hello, World
#192Earlier 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.
Re: Rust Foundation: Hello, World
#193Announcements 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
Re: Rust Foundation: Hello, World
#194Re: Rust Foundation: Hello, World
#195Re: Rust Foundation: Hello, World
#196Earlier 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.
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.
Re: Rust Foundation: Hello, World
#197Earlier 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/
Re: Rust Foundation: Hello, World
#198Earlier 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.
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
#199Announcements 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…
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
#200Earlier 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.