Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Programming Mozilla

Rust Creator Graydon Hoare Thanks Its Many Stakeholders - and Mozilla - on Rust's 10th Anniversary (rustfoundation.org) 23

Thursday was Rust's 10-year anniversary for its first stable release. "To say I'm surprised by its trajectory would be a vast understatement," writes Rust's original creator Graydon Hoare. "I can only thank, congratulate, and celebrate everyone involved... In my view, Rust is a story about a large community of stakeholders coming together to design, build, maintain, and expand shared technical infrastructure." It's a story with many actors:

- The population of developers the language serves who express their needs and constraints through discussion, debate, testing, and bug reports arising from their experience writing libraries and applications.

- The language designers and implementers who work to satisfy those needs and constraints while wrestling with the unexpected consequences of each decision.

- The authors, educators, speakers, translators, illustrators, and others who work to expand the set of people able to use the infrastructure and work on the infrastructure.

- The institutions investing in the project who provide the long-term funding and support necessary to sustain all this work over decades.

All these actors have a common interest in infrastructure.

Rather than just "systems programming", Hoare sees Rust as a tool for building infrastructure itself, "the robust and reliable necessities that enable us to get our work done" — a wide range that includes everything from embedded and IoT systems to multi-core systems. So the story of "Rust's initial implementation, its sustained investment, and its remarkable resonance and uptake all happened because the world needs robust and reliable infrastructure, and the infrastructure we had was not up to the task." Put simply: it failed too often, in spectacular and expensive ways. Crashes and downtime in the best cases, and security vulnerabilities in the worst. Efficient "infrastructure-building" languages existed but they were very hard to use, and nearly impossible to use safely, especially when writing concurrent code. This produced an infrastructure deficit many people felt, if not everyone could name, and it was growing worse by the year as we placed ever-greater demands on computers to work in ever more challenging environments...

We were stuck with the tools we had because building better tools like Rust was going to require an extraordinary investment of time, effort, and money. The bootstrap Rust compiler I initially wrote was just a few tens of thousands of lines of code; that was nearing the limits of what an unfunded solo hobby project can typically accomplish. Mozilla's decision to invest in Rust in 2009 immediately quadrupled the size of the team — it created a team in the first place — and then doubled it again, and again in subsequent years. Mozilla sustained this very unusual, very improbable investment in Rust from 2009-2020, as well as funding an entire browser engine written in Rust — Servo — from 2012 onwards, which served as a crucial testbed for Rust language features.

Rust and Servo had multiple contributors at Samsung, Hoare acknowledges, and Amazon, Facebook, Google, Microsoft, Huawei, and others "hired key developers and contributed hardware and management resources to its ongoing development." Rust itself "sits atop LLVM" (developed by researchers at UIUC and later funded by Apple, Qualcomm, Google, ARM, Huawei, and many other organizations), while Rust's safe memory model "derives directly from decades of research in academia, as well as academic-industrial projects like Cyclone, built by AT&T Bell Labs and Cornell."

And there were contributions from "interns, researchers, and professors at top academic research programming-language departments, including CMU, NEU, IU, MPI-SWS, and many others." JetBrains and the Rust-Analyzer OpenCollective essentially paid for two additional interactive-incremental reimplementations of the Rust frontend to provide language services to IDEs — critical tools for productive, day-to-day programming. Hundreds of companies and other institutions contributed time and money to evaluate Rust for production, write Rust programs, test them, file bugs related to them, and pay their staff to fix or improve any shortcomings they found. Last but very much not least: Rust has had thousands and thousands of volunteers donating years of their labor to the project. While it might seem tempting to think this is all "free", it's being paid for! Just less visibly than if it were part of a corporate budget.

All this investment, despite the long time horizon, paid off. We're all better for it.

He looks ahead with hope for a future with new contributors, "steady and diversified streams of support," and continued reliability and compatability (including "investment in ever-greater reliability technology, including the many emerging formal methods projects built on Rust.")

And he closes by saying Rust's "sustained, controlled, and frankly astonishing throughput of work" has "set a new standard for what good tools, good processes, and reliable infrastructure software should be like.

"Everyone involved should be proud of what they've built."

Rust Creator Graydon Hoare Thanks Its Many Stakeholders - and Mozilla - on Rust's 10th Anniversary

Comments Filter:
  • by Gravis Zero ( 934156 ) on Saturday May 17, 2025 @12:20PM (#65383323)

    Given the explosive amount of expansion the language has gone through it has been stable in name only. Frankly, I consider the first actual stable release to be the one that conforms to a written specification. For Rust, the specification was only finalized a few months ago.

    • by kertaamo ( 16100 )

      Yes and no. C was widely in use before it was formalised. and standardised. I see no reason therefore why you would criticise Rust for going through the same evolution.

      • 1) C was very unstable before there was a formal standard.
        2) Nobody here claimed C was stable before there was a formal standard.
        3) Rust has a much larger feature set making it's instability that much higher.

        I'm not criticizing Rust here, I'm saying the claim of stability is a load of bullshit.

      • by Uecker ( 1842596 )

        The criticism is not about Rust going through the same evolution (it lacks alternative implementation though), but that it claims to be on same level as C in this respect before it is.

    • by kertaamo ( 16100 )

      Also, C is not stable to this very day. Move your code to a different architecture, OS or compiler and it will behave differently depending on whatever "implementation defined" features from the standard it uses or what non-standard compiler options and extensions it needs. It's a mess.

      • it will behave differently depending on whatever "implementation defined" features from the standard it uses

        Implementation defined behavior occurs in every standardized language that has a multitude of implementations. The reason is that undefined behavior finally gets identified and nobody wants to change their compiler so it becomes an implementation defined feature.

        what non-standard compiler options and extensions it needs.

        If you're using non-standard features then you have already lost the portability game and should not be surprised. Non-standard features are another thing that occur as a result of having a multitude of implementations. Every compiler is competing t

  • by williamyf ( 227051 ) on Saturday May 17, 2025 @12:40PM (#65383337)

    I will say this as an electronics engineer who learned BASIC, COBOL, RPG-II, Pascal (in high-school) & C (@ Uni), got proficient enough in C to be a TA, and started using Linux in '95:

    I do not see anything wrong with re-writing parts of userland in Rust.
    I do not see anything wrong with re-writing Kernel Loadable Modules (i.e. drivers) in Rust
    I do not see anything wrong with re-writing "kernel-adjacent" subsystems (say, the bootloader, or the init subsystem) in Rust.
    I lack enough knowledge to emit an oppinion on rewriting parts of the kernel itself in Rust, nor about re-writing drivers that are added to the kernel @ compile time in Rust.

    All the best luck for the lads and lasses @ Cannonical dealing with UUTILS and rs-sudo

    Happy 10th anniversary to Rust the language, and to all the contrbutors over the years.

We are not a loved organization, but we are a respected one. -- John Fisher

Working...