Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)BA
BatmanAoD @programming.dev
Posts 1
Comments 343
Rust needs an official specification
  • This article somehow links to both the Reference and the Ferrocene spec, but still concludes that an official non-Ferrocene spec is necessary.

    Why doesn't the Ferrocene spec accomplish what the author wants? He states:

    In other words, without a clear and authoritative specification, Rust cannot be used to achieve EAL5.

    What? Why can't the Ferrocene spec (and compiler) be used? Do Ferrocene and TÜV SÜD not count as "some group of experts"?

    (Regarding the author's opening paragraphs, the Reference does make the same distinction about drop scopes for variables versus temporaries, though I can see why he finds the Ferrocene spec clearer. But that doesn't demonstrate that the Reference is useless as a stand-in for a specification.)

  • Rust needs an official specification
  • That's actually not how any language has ever been written, though it's easy to get that impression from how much the C and C++ communities emphasize their formal specifications.

    But in fact, both languages were in production use for over a decade before they had a formal spec. And languages with formal specifications are actually a tiny minority of programming languages.

  • Rust needs an official specification
  • There is indeed a caveat in the introduction to the Reference that there may be statements in it that are specific to rustc. However, the authors strive to keep statements about the implementation separate from statements about the language.

    The main reason there's not yet an "official" spec is that creating one takes enormous time and money, which are always limited resources. (Note that both C and C++ had no formal standard for over a decade after their initial release.) The Reference is "good enough" to make a formal spec not strictly necessary, and the existence of Ferrocene makes it even less necessary, since anyone who absolutely needs a spec can use Ferrocene.

  • Rust needs an official specification
  • You can say the Rust implementation is wrong if it doesn't conform to the Reference. That is not the same as "you personally disagree with the behavior."

    Rust's guarantees about the behavior of safe code are far stronger than anything C or C++ provides, with or without a formal spec.

  • How do you deploy in 10 seconds?
  • You're not wrong, but not everything needs to scale to 200+ servers (...arguably almost nothing does), and I've actually seen middle managers assume that a product needs that kind of scale when in fact the product was fundamentally not targeting a large enough market for that.

    Similarly, not everything needs certifications, but of course if you do need them there's absolutely no getting around it.

  • Rust is rolling off the Volvo assembly line - Blog - Tweede golf
  • In case you're still interested in this type of resource, here's another one I just learned about: https://google.github.io/comprehensive-rust/

    It's by the Android team at Google, and while it doesn't require knowledge of C++, it seems to be intended to bring devs up to speed on the concepts required for using Rust in Android and Chromium.

  • Does crates.io have a backup plan?
  • Wow, I definitely should have google that myself before asking, but thank you for explaining and calling out that data point.

    I honestly think that shows that it was in fact a bad idea to assign TLDs to countries. Having a country code acronym with a popular tech meaning is essentially just luck of the draw, so they've basically just arbitrarily given a few small countries a valuable resource to sell. I guess that benefits those countries, but I doubt "quasi-random fundraising for small countries" was ever the intent.

  • Does crates.io have a backup plan?
  • Obviously this isn't specific to Rust, but frankly it's bizarre to me that ICANN chose to tie top-level domains to country codes in the first place. Languages might have made sense, but a major feature of the internet is that it's less beholden to political boundaries than most of the physical world is.

  • My frustrations with Rust. Why is this the most loved language?
  • But "drop-in replacement"? That's a strong and specific claim.

    I do actually think that WebAssembly will enable something - maybe Rust, but more likely something simpler - to eventually dethrone JS in the browser. I also do think it seems beneficial to have your client and backend in the same language.

  • My frustrations with Rust. Why is this the most loved language?
  • ... the issue I have is people lying and saying Rust is a drop in replacement for js

    I am genuinely curious whether you've actually seen this claim before, or if you badly misunderstood or are simply exaggerating a claim about Rust being a good language for web servers, or if you simply made this up as a straw-man. I can't imagine anyone who knows what they're talking about using those words I that order.

  • Who's working on a "smaller Rust"?

    Almost five years ago, Saoirse "boats" wrote "Notes on a smaller Rust", and a year after that, revisited the idea.

    The basic idea is a language that is highly inspired by Rust but doesn't have the strict constraint of being a "systems" language in the vein of C and C++; in particular, it can have a nontrivial (or "thick") runtime and doesn't need to limit itself to "zero-cost" abstractions.

    What languages are being designed that fit this description? I've seen a few scripting languages written in Rust on GitHub, but none of them have been very active. I also recently learned about Hylo, which does have some ideas that I think are promising, but it seems too syntactically alien to really be a "smaller Rust."

    Edit to add: I think Graydon Hoare's post about language design choices he would have preferred for Rust also sheds some light on the kind of things a hypothetical "Rust-like but not Rust" language could do differently: https://graydon2.dreamwidth.org/307291.html

    63