Hacker Newsnew | past | comments | ask | show | jobs | submit | xpe's commentslogin

> So on the title, I picked this because it's simply the truth. Since async landed in 2019 or so, not much has changed.

Hi. The article calls Rust async an MVP. You should expect strong reactions when you frame it like that.

"MVP" has a generally understood meaning; distorting that is unhelpful and confusing. Rust's async was not an MVP when it was released in 2019. It was the result of a lot of earlier work.

Rust async: (a) works well for a lot of people and orgs in production settings and (b) is arguably better designed than most (all?) other async implementations. Calling it an MVP is far from "simply the truth". It is an opinion -- and frankly a pretty clickbaity one. I appreciate your article's attention to detail, but the title is straight up shameful sensationalism.

I strive to not reflexively defend the status quo, but I get really chafed when people conveniently blur the difference between fact and opinion.

Please argue on narrowest correct claims available. The current title overstates your claims and undermines its overall credibility. Your central claim (as I read it) is that for embedded software there are opportunities for async improvement in Rust. Yeah this might sound boring, but I think it's accurate.

My other main criticism of your article is when it claims Rust async breaks the "zero cost abstraction" principle. I don't buy this claim, because you do not show that hand rolling the code provides the same guarantees. A lot of people misunderstand what "zero cost" means; your article wouldn't be the first to give the wrong impression.

Writing is hard (different audiences bring different backgrounds), and I commend anyone who puts their ideas out into the world. Please take this as constructive feedback: please agree or disagree with me on the merits. Ask and engage where I'm unclear.


> Rust's async was not an MVP when it was released in 2019

The team literally described it as such.

One of the main architects of Rust’s async/await, withoutboats, left a comment on lobsters:

> It's just the truth. Neither in the language design nor in the compiler implementation has hardly any progress been made in the now 7 years since we shipped the MVP. The people primarily involved in delivering the MVP all become less active in the project around the same time and delivery since then has stalled out.

>

> I hope this person receives the support to do this work.

Rust’s async is great, and I feel you around some of the less informed criticisms. But it’s been called an MVP for a decade now, it’s not an insulting characterization. Just because it’s been an MVP does not mean it’s not good or useful.


Arguably the state it was left in is the state that was sufficient for the needs of all adopters. Don't fix something if it ain't broke. I know it's been sufficient for fuchsia which did a lot of the initial investment. The types of improvements described in the post tend to only matter at scale or in embedded use cases. No one from those realms has decided it was a sufficiently important problem to prioritize solving until now so it didn't get solved.

Even if MVP is the correct term for its current state, it has a connotation to it which less informed folks will take away the wrong meaning from, so perhaps it's not useful to continue to propagate it even if true.


> No one from those realms has decided it was a sufficiently important problem to prioritize solving until now so it didn't get solved.

This is both true and not true. It's no secret that the async ecosystem has had deep social rifts for a very long time, and that's made it very tough to actually make progress by anyone, regardless of the desire to.

It is true that async massively gave a boost to Rust's adoption, and it is good enough for many users. It is a monumental technical achievement. At the same time, that doesn't mean it's perfect.


Sorry, I was too harsh. Or to be more precise: I should not have directed my criticism only at this particular blog post. This topic is a hot mess. Yes, even the 2019 blog post announcing Async Rust [1] used the phrase:

> On this coming Thursday, November 7, async-await syntax hits stable Rust, as part of the 1.39.0 release. This work has been a long time in development -- the key ideas for zero-cost futures, for example, were first proposed by Aaron Turon and Alex Crichton in 2016! -- and we are very proud of the end result. We believe that Async I/O is going to be an increasingly important part of Rust's story.

> While this first release of "async-await" is a momentous event, it's also only the beginning. The current support for async-await marks a kind of "Minimum Viable Product" (MVP). We expect to be polishing, improving, and extending it for some time.

> Already, in the time since async-await hit beta, we've made a lot of great progress, including making some key diagnostic improvements that help to make async-await errors far more approachable. To get involved in that work, check out the Async Foundations Working Group; if nothing else, you can help us by filing bugs about polish issues or by nominating those bugs that are bothering you the most, to help direct our efforts.

---

MVP originated from the lean startup world: the core meaning is to build the smallest thing that validates demand. Async-await (a-a) was so much more than that.

Whoever wrote the blog post wrote "MVP" which leaves a reader wondering: are those scare quotes? [2]

Nice a-a was "in the air" since Go shipped it in 2009. Compiled state machines hit the scene not long after: C# in 2012, Clojure in 2013. So demand did not need validation. As I understand it, probably the biggest driver for Rust a-a was to provide a common foundation for work going forward.

The effort and thinking that went into async/await probably blows away 99.9% of MVPs released out into the world! And I don't think it would be crazy to say Rust's a-a was better than ~80% of even "1.0" products.

I don't want to get bogged down in mere definitions... I'm emphasizing the primary emotional vibe. Using MVP (or "MVP") is a surefire way to conjure the wrong emotional valence. It invites confusion and downplays years of incredible work.

My feeling is that original blog post used that framing because the Rust team is famously open to taking however much time is needed to get things as close to perfect as they know how.

[1]: https://blog.rust-lang.org/2019/11/07/Async-await-stable/

[2]: https://en.wikipedia.org/wiki/Scare_quotes


Claim-1: the async versus sync distinction cannot be meaningfully dissolved at the programmer level.

Claim-2: async versus sync is a fundamental division in CS

Discuss amongst yourselves. I lean towards thinking both are probably true (P~70%, P~90%)

See: “What Color is Your Function?” by Bob Nystrom (2015). https://journal.stuffwithstuff.com/2015/02/01/what-color-is-...


>Several people at work, none use OpenClaw, had their limits jump immediately to 100%.

Substantively: assuming this is true, what are the possible explanations? If they don't use OpenClaw, wouldn't this suggest there is some other cause?

What company? Will these people go on the record?

We live in a world where it is irrational for me to put much credence in a HN account. I see it has 125 karma and was created in January 2022.


So far, after reading ~20 HN comments, I see one mention of something akin to "I verified this myself". Where are the people saying "Maybe this is true, but please tell me you considered other explanations first!"

I try to avoid X, and I put relatively low credence in a HN account I don't know. [1] Browsing X, it looks like something like 1 out of 20 say they verified.

Who here has _verified_ this claim or can find a _quality_ source that has? Not X. Someone who will take serious reputational or financial damage if they are wrong?

It is 2026. Think about epistemics. What do you believe and why? And why should I believe you if you aren't asking this question?

This situation has many characteristics of being an information cascade. [2] Raise your hand if you piled on before thinking it through. Be honest. Everyone does it sometimes. Intellectually honest people own it.

P.S. I am _not_ making a claim about the original statement. Don't shoot the messenger: somebody needs to say what I'm saying.

[1]: "We cannot trust identity like we used to here on HN ... we live in a world or anyone or any AI can claim almost anything ... https://news.ycombinator.com/item?id=47804884

[2]: https://en.wikipedia.org/wiki/Information_cascade


Thanks for that

The comment above has started a sh-tstorm. Please, slow down and learn about the details before jumping to conclusions. Most of us here did NOT "go pro" in the law. [1] For those that want to educate themselves, you could do worse than immediately leave HN and go _learn_:

1. SaaS Agreements: Key Contractual Provisions https://www.americanbar.org/groups/business_law/resources/bu...

2. Cornell Law School's Wex: https://www.law.cornell.edu/wex

3. Coursera : American Contract Law I (Yale prof): https://www.coursera.org/learn/contracts-1

4. Software as a Service (SaaS) Agreements: Thomson Reuters/Westlaw (paywalled; trial available) https://content.next.westlaw.com/practical-law/document/I61c...

If anyone has good detailed resources that are free, please add.

[1] IANAL but I wasn't that far from going down that path. I've worked for a legal-tech startup, did really well in an undergrad Constitutional Law class, incorporated several small companies, managed lots of contractor agreements. So, I know from experience: legal language is weird and specific in ways you may not realize. So be intellectually humble and defer judgment until you talk to a legal expert. Hopefully people more experienced than I can weigh in with more specifics.


If you need an education in law to be able to trust a business isn't trying to steal from you, then maybe you just shouldn't trust that business at all.

Especially for something like a code editor, where plenty of less-shady competitors are available.


> Especially for something like a code editor, where plenty of less-shady competitors are available.

On what basis are you claiming Zed is shady? I seek evidence, not feels.

If you don't understand the contract language, it seems rather presumptuous to make that kind of claim. See what I mean?

If you want to make a _relative_ claim, then I have to ask: have you read the licenses of VS Code, JetBrains, Cursor, WindSurf?


> my text editor has a SaaS license agreement

This language fits common SaaS templates. Let me illustrate by removing chunks and labeling them:

    Customer hereby grants Zed
    {{ broad list of rights }}
    solely:
    {{ for these purposes }}
IANAL, but the term "solely" seems essential to understanding this. Pivotal. As in "if you get it wrong, you'll be wearing a tinfoil hat" essential.

Also see "4.4. Telemetry: .... For avoidance of doubt, Telemetry expressly does not include Customer Data."

My two cents: I'm not worried about Zed's contract here. Much more important to pay attention to when your data goes to third-party AI providers: read _their_ contract language.

Meta-comment: Don't let a well-meaning comment like the above trigger a panic. Better to get familiar with typical contracts and/or build your personal network for legal advice.

P.S. Look out for shameless legal slop on the Web, I "promise.legal" it is out there.


1. Yes, Zed is open source, you can build it yourself.

2. Telemetry defaults to on. So turn off telemetry as explained at https://zed.dev/docs/telemetry#configuring-telemetry-setting...

    "telemetry": {
        "diagnostics": false,
        "metrics": false,
    },

Which Macs, hardware, OS's? What's your baseline comparison?

Air M2, MBP 16 2019 on Intel. Created bug report where I can’t even use it on Intel sometimes because of 100% GPU usage. On M2 it’s not so bad, but still see 50% GPU usage where other editors with also smooth scrolling are much less GPU hungry, even PyCharm. Just search “CPU” or “GPU” in their issues on GH, there are a lot of them.

If the idea of hiding extra Markdown elements or making it more WYSIWYG appeals to you, maybe we can put more eyes on some kind of feature request. I've seeing several comments come at this from different angles: ?id=47950471 ?id=47950748

> Also extensions can't add new UI, so you are stuck fitting to the recipe Zed team provides for you to plug into, and often enough this is not satisfactory.

What did you have in mind for "new UI"? I'm hoping to see basic text transformation myself: https://news.ycombinator.com/item?id=47950471


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

Search: