In particular, the referenced AWS article is typically called out as a bad "study"
Maybe it was different a few years ago, but this is what I've seen since late 2019ish.
But, these are engineers at huge companies rewriting core system components for dubious reasons AND writing a deliberately misleading blog post about it.
Now more engineers with an agenda would cite these posts to their managers and get their rewrites.
I've had senior tech leadership explain that rewriting a big system into a new language is done because the real goal is to rewrite the old system that no one understands well enough and is gradually becoming scary to change; people are enthused for the shiny new language, and at the end the current organization understands this crucial system for a few more years.
People in companies write the blog posts because it helps get promotions ("visibility" "industry leadership").
This is definitely toxic work culture that needs to be fixed
Blog posts about them are often interesting simply because you get a new perspective on the tools you use frequently.
I'm talking about the types of things where a rewrite is done not for the purpose of learning, or because a specific set of issues is identified in the existing project, etc...but because "this language is better so I'm rewriting X in it"
I use the prevalence of "In X" posts as a sneaky measure of maturity of the given language. A language is "mature" when people start posting projects written in it on HN without highlighting the implementation language.
Rust & Go have both hit this, BTW. But only a couple of years ago, and you can still definitely see "In Rust/Go" posts with some regularity, so they haven't hit full maturity, where it wouldn't even cross the mind of a poster to mention Rust or Go as if it were a weird thing.
That is certainly true, but for pretty much every community that I know, not limited to any programming language or technology.
Asking, because I use it daily :)
Additionally the author was reluctant, and in the final case outright refused, to accept fixes because they weren't interesting. For that last one, the fix was to replace the custom Cell (or RefCell, I forget) implementation with the one from the standard library. The big "dog pile" happened on that last one.
And to be very clear I’m not trying to say there is no overlap at all, but I don’t think you can call the Rust community toxic because of those people.
(I wonder if the people who treat Rust like a religion realize how harmful their behavior is. I want Rust to be seen as a reasonable option, but that’s difficult when you have the evangelists scaring people away)
It also seems like a large portion of the posts I see in embedded Rust are about generics and/or async. I have no interest in them. (Most of the embedded code I've seen using them can be written more plainly without). It also turns new people off the language due to the syntax clutter. So, they think "Rust is hard to write/messy". It's not the language - it's how parts of the community use it.
I also dislike the condescending attitude when C code comes up .
My opinion has always been: Be Confident Enough to Allow Others to Disagree. Some in the Rust community sometimes have a problem with this, but, my God, it's not as if the arguments against Rust are very good, or as if people don't love to troll Rust, like the parent to your comment. Most criticisms are embarrassingly flimsy.
Which is not to say that Rust doesn't have a number of downsides. And I'm writing this as a Rust enthusiast and (very minor) contributor to the Rust compiler.
Again, you should feel free to disagree. I guess what I'd say is that your experience has not been my experience. And I'll keep an eye out for you on the forums if you want to discuss Rust!
Not sure I convinced my self here. But yeah, something like that.
Although I'd disagree re: ease of development, because it's highly subjective and depends on your use, I would agree that it's wrong for some to characterize Rust as a floor wax and a dessert topping. It's really good for lots of things and less good/still growing for others.
Doesn't mean that we all share the same definition of "ease of development" or that your ease of development would similarly improve – it might very well suffer, depending on the specific pain points that you're up against.
So may I suggest rephrasing "ease of development tend to suffer" into "learning curve may be harsh"?
Incidentally, I don't think you'll find much hype in the core Rust community. This community has always been very honest about what Rust does well, what Rust doesn't do so well, and what Rust isn't good at at all. I found this refreshing because I never quite saw so much honesty in, well, any other community, I guess.
>Ease of development tend to suffer
to be true. I'm sure it is true in certain contexts, such as building certain types of data structures, or making GUIs, but for normal day-to-day development work it feels like I'm getting performance, security, and ease of development.
Where specifically did you encounter the toxicity?
It's even worse when really senior figures in a community are also the source of the toxicity.
That said, I have not interacted with the Rust community and cannot make any comments in that regard. Language is pretty nice though.
I'll leave with this: I'm a super introvert who works from home, so I took my difficulties as possibly me needing to take a break.
I actually track Rust quite closely since there's a lot of neat and innovative work coming out of it, and I hope to join the community since it seems like many have had a lot more positive of an experience.
Where do you have these interactions? I'm frequently on the Rust forums and the few times I have seen something toxic brewing, someone has always stepped in to politely ask the fanbois (yes, they exist) to stop.
Reddit is so full of trolls that I've mostly stopped contributing, except in a few subreddits that are properly moderated.
Sorry you experienced that :/
For what it's worth, I don't think I've seen anybody from the core Rust community on /r/rust.
I'm both on the Rust forums and on the Rust Matrix community and I haven't seen anything toxic at all. Everything I've seen that looked like it could become toxic was handled gently by someone with a bit of seniority.
Where did you ask?
Let's keep focused on AWS's poor greenwashing post. You could replace all the names of the technologies and it's still just as bad.
Communities are painted toxic all the time rightly or wrongly. To say community have feeling and are to treated as person does not seem to be appropriate.
Also calling people toxic who called some community toxic is akin to name calling and I dare say much more common in Rust circles.
Still, I have to say, it's really weird to see (last few months) everything being rewritten into Rust, just for the sake of pride(?).
Haven't we learned anything from the NodeJS craze?
It's to prevent all memory safety bugs.
But there is a broad-based desire to rewrite libraries in Rust for a couple (IMHO valid) reasons. One is the API. While it is possible to have a nice and idiomatic Rust API to a C library, it will often be nicer to use when it is designed from the ground-up in Rust. Traits, interfaces, etc.
It is also often desirable to avoid C when cross-compiling (such as for embedded systems), as that is generally a hassle to set up and get working seamlessly.
Also, it’s not like rewriting such trivial tools as cat in rust would cause any conceivable amount of useless churn. They are not rewriting complete ecosystems.