Rust is not a user feature, it's an implementation detail.
<cue people telling me I should consider Rust a feature>
Rust is not a user feature, it's an implementation detail.
<cue people telling me I should consider Rust a feature>
Sure, but keep in mind that in the case of open source software plenty of people will choose software written in their favorite language so that they can potentially contribute to it. Or simply because they feel more connected to something that is written in their favorite language. So I don't think it's completely irrelevant.
If it was written in JS or python I'd already start worrying about what package manager to install it with in which environment, installing it globally is an anti pattern but symlinking it to .local/bin might complicate it.
So IMHO, the language something is written in is not just an implementation detail, it informs me in how well it will perform.
That, in essence is the problem "X in rust" normally means "I've written something of low value IN RUST. Gimmee upvotes". Come back when the project is interesting regardless of the language.
But it's an interesting observation, don't you think? Why is it that just by adding "... in Rust" you can almost guarantee that people will roll their eyes and think "oh, not another one".
Other languages do not carry such stigma, why does Rust have such reputation?
This is all wild speculation on my part, so please take it with a large grain of salt. I welcome alternative explanations or experiences.
As the OP, this is a big part of it. Rust might be a great language, but people announcing they rewrote grep (for example) in rust doesn't mean they've done anything special. The rust language team did something special. The person making the announcement just took somebody else's idea and reimplemented it for very little reason.
Great! You learnt enough to reinvent the wheel. Now do something useful.
part is the important term here.
Using a particular language signals a certain subset of qualities and broadcasting those helps people filter what they are interested in.
Also they might have made the mistake of judging a very big and heterogenous community by a few zealot loudmouths (and every community has those).
Informed and objective people shouldn't judge like that but I think it reinforces a preconceived notion that they already have.
The human brain can betray us like that. If you already dislike something, practically every criticism towards it, no matter how small, makes you immediately go: "A-ha! This thing is bad! I knew it!"
Why? I just point out that what happened to Haskell can happen to Rust, and for much the same reasons.
Are you saying that Haskell never got wide adoption because its advocates were too loud?
Even if you claim that I'll not believe it. Haskell is legitimately difficult for many annoying reasons, not least of which are the endless compiler variants.
I love the language and worked with it professionally for over a year, but I can’t stand everything around the developer experience and community.
Rust is a breath of fresh air.
That by itself is only a cause. What's the effect, what's the symptom of this attitude, what are the practical observable results? Gatekeeping? Rude forum responses? (I know OCaml partially suffered from that and they can be fairly elitistic; when you ask something fairly normal nowadays like "what's the preferred package manager?" or "how do you build a project?" is sometimes met with smartass responses like "what's a project?")
> I love the language and worked with it professionally for over a year, but I can’t stand everything around the developer experience and community.
Sums up my experience with several development communities, yep. I can relate.
> Rust is a breath of fresh air.
I feel the same, the community is extremely pragmatic. I've met a few a-holes but they were a very, very rare exception. 99% of everyone I interacted with was just like me: they were looking how to get the job done AND write idiomatic and efficient code.
This really depends. I don't care about some abstract notion of a community BUT if I can't get basic stuff done because documentation is not good and the official forum responses are not helpful then yes, I absolutely will abandon the language.
To this day, languages differ a lot. I.e. in Elixir and Rust I can just add dependencies to a file (Rust even allows you to add the dep via a CLI command) and then reference it in your code a minute later, issue a command and your project is compiled and runs and you see the result.
Now ask me how much time I spent fiddling with OCaml's `dune` and `esy` which are a project manager and a dependency manager respectively. Took me an entire weekend to get one simple code to compile with a singular CLI command, and then run it. And community was not helpful: "check the docs", which I did 15 times probably over the course of that same weekend.
To go back to your point, friendly / welcoming community is just a bonus. The community has to be helpful above everything else. Some people are noobs. Some people like myself are senior BUT are unwilling to start over and are just looking for "how to do X and Y without spending a full day?". Some people are trying to make a presentation to advocate for the technology on an internal meeting. Examples abound.
I am not an experienced moderator (nor I ever want to be) but I've witnessed significant differences in how various programming language (or just a framework) communities act, and how helpful they are. It absolutely isn't identical or even close. Some are downright off-putting.
Finally, I make no claims about Haskell in any way except only one thing: when I saw its huge combinatorial explosion of different compilers, I gave up on the spot. Give me 2-3 options and leave the rest to the enthusiasts.
In case you're interested into how Haskell handles some of the specifics you brought up:
> in Elixir and Rust I can just add dependencies to a file (Rust even allows you to add the dep via a CLI command) and then reference it in your code a minute later, issue a command and your project is compiled and runs and you see the result
This is also true of Haskell using Cabal. Cabal has some rough edges. Perhaps it's not as ergonomic as the Elixir or Rust equivalents (I've never used them) but you can at least do that.
> when I saw its huge combinatorial explosion of different compilers, I gave up on the spot. Give me 2-3 options and leave the rest to the enthusiasts.
This issue has been resolved with the introduction of the GHC2021 language edition. Just use that. No need for any other language extensions as a non-expert, except maybe in very special cases.
(By the way, there was never a combinatorial explosion of compilers. Almost all language extensions simply remove restrictions. But I understand how people could interpret it that way, and GHC2021 is a very simple way of resolving the misunderstanding.)
The type of complaining you're doing is also nothing new, because exactly the same occurs under those posts when it's the language de jour. A few years ago when it was all about Go, you could look in the HN comments and see people complaining exactly the same way about Go and the Go community.
Rust has memory safety built in (unless one goes VERY out of their way to nullify it) which to many, myself included, is a selling point. F.ex. I wouldn't be interested in the userland tools rewrite if they weren't in Rust.
> Rust is not a user feature, it's an implementation detail.
It is that, yes, but not only that. Again, memory safety. And as another poster pointed out -- statically linked binaries. That helps a lot with certain deployments.
Also consider that HN might not be the place for you if mentioning implementation details are ticking you off. That's more or less how this forum started in the first place: people discussing implementation details.
Rust is the new C. It communicates that something is fast, but also secure, and new or a modern reimplementation of something old. So, in that sense, is it a user feature because it has established itself in a way that tells the user some important details.
If you don’t care, ignore it. Why should it bother you so much?
I think it has become a significant user feature.
I think you might just be prejudiced. Do you have the same reaction to, say, SQLite?
https://www.sqlite.org/index.html
> SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.
Rust’s memory safety definitely makes it a user feature.