Hacker News new | past | comments | ask | show | jobs | submit login

There isn't a lot of good software written in Rust, open source or not. It's a lot of small and half-finished stuff here and there. The actual software out there is the ultimate, unforgiving, unfraudable review of a language, not what people say.

Developers seem to like Rust (or at least pay lip service). It's understandable. We are all suckers for a golden hammer. Rust promises no data races, no dangling pointers, high performance, and best of all it can run on numerous targets, making it a contender for The Last Language you have to know.

But you don't judge a restaurant's performance by the holiness of the chef's choice of tools in the eyes of other chefs. What is the most profitable piece of Rust software or the piece of Rust software that the most people depend on? If it wants to be taken seriously at the systems programming table, then we should see the Unix coreutils written in Rust (with all the command line flags working exactly the same way). Come on, replace GNU. You say you can do it faster and safer than everyone else. Let's see it.




> What is the most profitable piece of Rust software or the piece of Rust software that the most people depend on?

You've got:

* Every page load of Firefox

* Every page served of Reddit

* Every byte stored in dropbox

* Every user of 1password's browser extension, and every user of their Windows client.

* Every HTTP/3 request served through Cloudflare (okay HTTP/3 is still a baby but, the future here)

* Every DNS request of every user of the 1.1.1.1 mobile app (hundreds of thousands of installs)

* Every invocation of AWS Lambda and Fargate

* 4% of Debian packages

* Every control-F in Visual Studio: Code

* Every time a user list changes in Discord, also other things.

... so, yeah. Take your pick.


Interesting. I thought that only find in project (ctrl shift f) was using ripgrep, but I kind of thought that find in current file (ctrl f) was done differently.

Find in project is really awesome in VSCode.


I thought they both did, but I'm also not an expert on Code's internals.


AIUI, VS Code uses Node's regex engine for searching in the current file. But I am also not knowledgeable about Code's internals. :-)


I'll pick using an example from Discord as being a rotten apple in the list. The less this malware is mentioned the better.


I don't think Discord is malware, but we have straight-up 100% malware too! :p https://news.drweb.com/show/?i=10193&lng=en


To be fair the cancerous part of it is the Electron JS frontend, which is not to my knowledge at all implemented in Rust.


> we should see the Unix coreutils written in Rust (with all the command line flags working exactly the same way)

While I'm not convinced that implementing an identical API to coreutils is necessary to be "taken seriously" as a systems programming language, there's a fairly far along implemention that already exists:

https://github.com/uutils/coreutils/blob/master/README.md


> There isn't a lot of good software written in Rust, open source or not. It's a lot of small and half-finished stuff here and there.

Perhaps you and I have very different definitions of "a lot" or of "good", because I don't agree with this at all. There are plenty of high profile Rust projects with excellent production track records. Linkerd, TiKV, and Firecracker (originally crosvm) come to mind immediately, and of course Servo. Facebook also selected it for Libra, Google for Fuchsia.


> half-finished

Literally all of the things you mentioned (except linkerd which is mostly Go) are half-finished incubator projects. Rust has been around for over 10 years. Come on.


AWS blog on Firecracker, November 2018 (source: https://aws.amazon.com/blogs/aws/firecracker-lightweight-vir...)

> Today, Lambda processes trillions of executions for hundreds of thousands of active customers every month. Last year we extended the benefits of serverless to containers with the launch of AWS Fargate, which now runs tens of millions of containers for AWS customers every week.

> Battle-Tested – Firecracker has been battled-tested and is already powering multiple high-volume AWS services including AWS Lambda and AWS Fargate.

That doesn't sound like a half-finished incubator project.


There is literally no Rust in the main repo:

https://github.com/linkerd/linkerd2 https://github.com/linkerd/linkerd

It's confounding how a project that doesn't include Rust is included in Rust's "Greatest Hits."

Citing a cryptocurrency that...for all intents and purposes, doesn't really exist right now, is also a strange choice.


Linkerd consists of a "control plane" and a "data plane." You linked the the control plane, written in Go. You want the data plane, here: https://github.com/linkerd/linkerd2-proxy


Ah, interesting! Thanks for chiming in!


Using language age as a definition of success isn't really being fair. Plenty of very successful languages took a long time to gain traction. For instance, Python was in a very similar position to Rust for almost 15 years before it finally started to shoot up into what it is today. In 2000 you were considered eccentric if you chose to use Python for anything but the most dirty scripts, but now it's being used for complex production systems.

I'm not blind. I can see that Rust has its major downsides, and the zealotry you see is on HN and elsewhere is downright annoying. But dismissing it based on age is being disingenuous. There was another list of projects elsewhere in this comment thread which listed a number of things being used in production that can't be considered half-finished by any measure.


Just my two cents: there are lots of Rust zealots in HN right now. Rust is at the top of its hype cycle rn, so it's a bit difficult to have balanced discussions even here. You're completely right with that Rust isn't one of the main language that drives the industry yet, but everyone will jump on you with tons of partial examples, and will claim it's already flying. Sigh.


It seems to me like the only point of difference between you and the zealots is the definition of success.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: