Skip to content

[READY FOR MERGE 2017-05-15] Second birthday post #168

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
May 15, 2017
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
43f6d4a
Start of Rust 2nd birthday post
carols10cents May 7, 2017
fa1f609
Outline-ish
carols10cents May 7, 2017
393aaa4
Update conferences section
carols10cents May 7, 2017
4c4b4a9
Upgrade json gem; 1.8.3 won't install for me
carols10cents May 7, 2017
37bd833
Add rustfest picture
carols10cents May 7, 2017
b738e67
Add photo credit
carols10cents May 8, 2017
1be5439
Add benchmarks and analysis
carols10cents May 8, 2017
9b2c4be
Some progress, editing, rearranging. Might rearrange again, I'm still…
carols10cents May 8, 2017
77f31d6
Ok feeling good about this organization, still needs filling out
carols10cents May 9, 2017
5d02e58
Filling in
carols10cents May 9, 2017
8ed9d30
Libz, conclusion
carols10cents May 10, 2017
44044fc
More rewordings and notes
carols10cents May 10, 2017
ebd653f
dropbox
carols10cents May 10, 2017
b8f8018
add a paragraph about incremental compilation support
nikomatsakis May 10, 2017
14876f2
credit
carols10cents May 10, 2017
d17ca6c
more text on cargo check
carols10cents May 10, 2017
823c037
Remove issue benchmarks
carols10cents May 10, 2017
bd0959f
Order table by original compilation time asc
carols10cents May 10, 2017
354c838
Added a graph
carols10cents May 10, 2017
c825679
fewer exclamation marks, sigh
carols10cents May 10, 2017
9bde894
Update teams
carols10cents May 11, 2017
972787d
Count steve leaving community
carols10cents May 11, 2017
e7a2950
Improve dropbox section
carols10cents May 11, 2017
9a30d8b
Link to quantum blog post series
carols10cents May 11, 2017
8d179ad
No more using rust using rust
carols10cents May 11, 2017
eb2fe94
Improve compile time perf section
carols10cents May 11, 2017
cf06413
Add a graph from the incremental compilation post
carols10cents May 11, 2017
40aa9d2
More detail on mentoring
carols10cents May 11, 2017
14c901b
fearless
carols10cents May 12, 2017
3a0a313
metaphorical toddler
carols10cents May 12, 2017
00df41b
Summarize compile time improvements
carols10cents May 12, 2017
17ae2f8
Fill in most remaining gaps in birthday post; a bit more polishing on…
aturon May 12, 2017
eeb0437
Update Rocket pitch
aturon May 12, 2017
0188814
Clarify a few things
carols10cents May 12, 2017
be8211f
Switch to https when supported
carols10cents May 12, 2017
7c34920
Getting the latest numbers
carols10cents May 15, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ GEM
gemoji (~> 2.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0)
json (1.8.3)
json (1.8.6)
kramdown (1.11.1)
liquid (3.0.6)
listen (3.0.6)
Expand Down Expand Up @@ -126,4 +126,4 @@ DEPENDENCIES
jekyll (~> 3.1.6)

BUNDLED WITH
1.12.5
1.14.6
356 changes: 356 additions & 0 deletions _posts/2017-05-15-rust-at-two-years.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,356 @@
---
layout: post
title: "Two years of Rust"
author: Carol (Nichols || Goulding)
description: "Rust, two years after 1.0"
---

It's been two years since Rust 1.0 was released. Happy second birthday, Rust!

![Group picture from RustFest Berlin][group-pic]{:class="center"}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love the choice of pic!


*Rustaceans at RustFest Berlin, September 2016. Picture by Fiona Castiñeira*

[group-pic]: /images/2017-05-Second-Birthday/rustfest-berlin.jpeg

Rust, a systems programming language focused on safety, speed, and concurrency,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should workshop the opening sentence, to get it up to date with the ways we've been trying to talk about Rust (which have evolved away from the old "trifecta").

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I was trying to find where you were talking about... productive fearless systems programming? What was it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rust, a language for confident, productive systems programming

has now achieved stability without stagnation by maintaining backwards
compatibility with version 1.0 for two years while also making many
improvements. Conveniently, Rust's birthday is a bit under halfway through
2017, which makes this a great time to reflect not only on the progress in the
last year but also on the progress of our [2017 Roadmap] goals.

[2017 Roadmap]: https://blog.rust-lang.org/2017/02/06/roadmap.html

After reading this post, if you'd like to give us your feedback on how we're
doing and where Rust should focus next, please fill out our [2017 State of Rust
survey].

[2017 State of Rust survey]: https://blog.rust-lang.org/2017/05/03/survey.html

But first, let's do the numbers!

## Rust in numbers

A lot has happened since [Rust's first birthday]:

<!--
Will rerun these just before publishing:

commits:
`git log --since=2016-05-15 --until=2017-05-15 --oneline | wc`

contributors:
`git log --since=2016-05-15 --until=2017-05-15 --oneline --format="%aN" | sort | uniq | wc`

rfcs:
`git ls-tree a4a22d7c5dd71724bb2cd0fe2db5026338d0b270 text/ | wc` => there were 255 RFCs a year ago
`git ls-tree HEAD text/ | wc` => there are 310 RFCs now
310 - 255 = 55

crates:
`select count(*) from crates where date(created_at) >= '2016-05-15';`

friends:
https://github.com/rust-lang/rust-www/compare/bb7f26b...master#diff-ee76f5da00d603d5e34d053a3dc63395
-->

- 10,583 [commits] by 655 contributors added to the core repository;
- 55 [RFCs] merged;
- 9 major releases and 2 patch releases shipped;
- 4,303 new [crates] published;
- 284 library stabilizations;
- 10 languages [rust-lang.org] has been translated into;
- 48 new companies [running Rust in production][friends];
- 2 new teams (Docs and Style);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, Infra (which will be fully announced any moment now) and the Unsafe Guidelines strike team.

- 24 occasions of adding people to teams, 5 retirings of people from teams;
- 3 babies born to people on [the Rust teams];
- 2 years of [stability delivered].

On an average week this year, the Rust community merged 1 RFC and published 83
new crates. Rust topped the "[most loved] language" for the second year in a
row in the StackOverflow survey. Also new this year is [thanks.rust-lang.org],
a site where you can browse contributors by release.

[Rust's first birthday]: https://blog.rust-lang.org/2016/05/16/rust-at-one-year.html
[survey]: https://blog.rust-lang.org/2017/05/03/survey.html
[most loved]: https://insights.stackoverflow.com/survey/2017#technology-most-loved-dreaded-and-wanted-languages
[commits]: https://github.com/rust-lang/rust/commits/master
[RFCs]: https://github.com/rust-lang/rfcs
[rust-lang.org]: https://www.rust-lang.org/
[friends]: https://www.rust-lang.org/en-US/friends.html
[stability delivered]: http://blog.rust-lang.org/2014/10/30/Stability.html
[thanks.rust-lang.org]: https://thanks.rust-lang.org/
[the Rust teams]: https://www.rust-lang.org/en-US/team.html
[crates]: https://crates.io/

## Rust in production

In addition to the 48 new Rust friends, we now have a [Rust jobs website]! More
and more companies are choosing Rust to solve problems involving performance,
scaling, and safety. Let's check in on a few of them.

[Rust jobs website]: http://rustjobs.rs/

[Dropbox] is using Rust in multiple high-impact projects to manage exabytes of
data where correctness and efficiency is critical. Rust is currently shipping
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Rust/Rust code/

in the desktop client on Windows running on hundreds of millions of machines.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: bold "hundreds of millions"

Jamie Turner recently [spoke at the SF Rust Meetup] about the details on how
Rust helps Dropbox use less RAM and get more throughput with less CPU.

[Dropbox]: https://www.dropbox.com/
[spoke at the SF Rust Meetup]: https://air.mozilla.org/rust-meetup-may-2017/

Mozilla, Rust's main sponsor, has accelerated their use of Rust in production.
Not only did [Servo start shipping nightly builds], [Firefox 48] marked the
first Firefox release that included Rust code as part of the [Oxidation]
project. [Project Quantum], announced in October 2016, is an effort to
incrementally adopt proven parts of Servo into Firefox's rendering engine,
Gecko.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @metajack @jonathandturner, should we say more about Quantum here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could link to Potch's writeup as one possibility: https://hacks.mozilla.org/2017/05/quantum-up-close-what-is-a-browser-engine/

IMHO, I like that we just say we're incrementally adopting parts of Servo, and we don't necessarily call out specific ones.


[Servo start shipping nightly builds]: https://blog.servo.org/2016/06/30/servo-nightlies/
[Firefox 48]: https://hacks.mozilla.org/2016/07/shipping-rust-in-firefox/
[Oxidation]: https://wiki.mozilla.org/Oxidation
[Project Quantum]: https://medium.com/mozilla-tech/a-quantum-leap-for-the-web-a3b7174b3c12

[GNOME], a free and open source desktop environment for Linux, went from
experimenting with Rust in [librsvg] in October 2016 to a [hackfest] in March
to work on the interoperability between GNOME and Rust to enable more GNOME
components to be written in Rust. The hackfest participants made good progress,
be sure to check out the reports at the bottom of the hackfest page for all the
details. We're all excited about the possibilities of Rust and GNOME working
together.

[GNOME]: https://www.gnome.org/
[librsvg]: https://people.gnome.org/~federico/news-2016-10.html#25
[hackfest]: https://wiki.gnome.org/Hackfests/Rust2017

This year, [npm] started using Rust in production to serve JavaScript packages,
using Rust to eliminate performance bottlenecks in their platform that serves
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

says "using Rust" twice, maybe tighten up phrasing a bit.

around 350 million packages a day. [Ashley Williams recently gave a
talk][ag_dubs] at RustFest in Ukraine about npm's experience with Rust in
production; video is coming soon.

[npm]: https://www.npmjs.com/
[ag_dubs]: http://2017.rustfest.eu/talks/#how-i-convinced-the-world-s-largest-package-manager-to-use-rust-and-so-can-you

## Rust in community

Speaking of conferences, We've had four Rust conferences in the last year:

- September 9-10, 2016: [RustConf 2016] in Portland, OR, USA;
- September 17, 2016: [RustFest 2016] in Berlin, Germany;
- October 27-28, 2016: [Rust Belt Rust 2016] in Pittsburgh, PA, USA;
- April 29-30, 2017: [RustFest 2017] in Kyiv, Ukraine.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these links are not working in rendered version

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(not sure why)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know why either, they work when I run jekyll locally so they should work in the published version.


[RustConf 2016]: TODO ATURON PROMISED
[RustFest 2016]: http://2016.rustfest.eu/
[Rust Belt Rust 2016]: http://conf2016.rust-belt-rust.com/
[Rustfest 2017]: http://2017.rustfest.eu/

And we have at least three conferences coming up!

- August 18-19, 2017: [RustConf 2017] in Portland, OR, USA;
- September, 2017: [Another RustFest] in Zurich, Switzerland;
- October 26-27, 2017: [Rust Belt Rust 2017] in Columbus, OH, USA.

[Rust Belt Rust 2017]: http://conf2017.rust-belt-rust.com/
[RustConf 2017]: http://rustconf.com/
[Another RustFest]: https://rustfest.ch/

That's not even including the [103 meetups worldwide][meetup] about Rust. Will
you be the one to run the fourth conference or start the 104th meetup? [Contact
the community team] for help and support!

[meetup]: http://rust.meetup.com/
[Contact the community team]: https://community.rs/

## Rust in 2017

The [2017 Roadmap] goals have been great for focusing community efforts towards
the most pressing issues facing Rust today. Of course we'd love for every
aspect of Rust to improve all the time, but we don't have an infinite number of
contributors with an infinite amount of time available yet!

Let's check in on some of the initiatives in each of the goals in the roadmap.
Take a look at each goal's tracking issue for even more initiatives than we're
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about: "The linked tracking issues give even more detail than the summary here".

mentioning here.

### [Rust should have a lower learning curve](https://github.com/rust-lang/rust-roadmap/issues/3)

The second edition of [The Rust Programming Language Book] is one chapter shy
of having its initial content complete. There's lots more editing to be done to
get the book ready for publication in October, though. The print version is
currently available for [preorder from No Starch], and the online version of
the second edition has boarded [the beta train] and will be an option in the
documentation shipped with Rust 1.18.0. Steve and I have gotten feedback that
[the ownership chapter] especially is much improved and has helped people
understand ownership related concepts better!

[The Rust Programming Language Book]: https://github.com/rust-lang/book
[preorder from No Starch]: https://www.nostarch.com/rust
[the beta train]: https://doc.rust-lang.org/beta/book/
[the ownership chapter]: https://doc.rust-lang.org/nightly/book/second-edition/ch04-00-understanding-ownership.html

The [Language Ergonomics Initiative] is another part of the lower learning
curve goal that has [a number of improvements][lei-tracker] in its pipeline.
The language team is eager to mentor people (another goal!) who are interested
in getting involved with moving these ergonomic improvement ideas forward by
writing RFCs and working with the community to flesh out the details of how
these improvements would work. Comment on the [tracking issue][lei-tracker] if
you'd like to jump in.

[Language Ergonomics Initiative]: https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html
[lei-tracker]: https://github.com/rust-lang/rust-roadmap/issues/17

Also check out:

- [The Rust Cookbook](https://github.com/brson/rust-cookbook)
- [The new error format rolled out in Rust 1.12.0](https://github.com/rust-lang/rust/issues/35233)
- [The question mark operator stabilized in Rust 1.13.0](https://github.com/rust-lang/rust/pull/31954)

### [Rust should have a pleasant edit-compile-debug cycle](https://github.com/rust-lang/rust-roadmap/issues/1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have the sense that this section as written is a bit "insider baseball", in the sense that it expects you already know about MIR and incremental comp. Some initial framing would be helpful.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could talk about the user impact of each?

"A more user-friendly error format..."
"Easier to use error handling..."


Compiler improvements are ongoing. This year, [MIR became a default part of the
compilation process](https://github.com/rust-lang/rust/pull/34096), which was a
prerequisite to unlocking further improvements.

Below is a table of [benchmarks] comparing the time it takes to compile a few
crates and tests with Rust 1.8.0 (the stable release a year ago) to Rust 1.17.0
(the stable release today). On average, compile times have improved by 5-10%,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 5-10% figure here is going to feel pretty underwhelming, given the focus we've put on compiler performance in the past. We should figure out a good way to frame that.

but some worst-case behavior has been fixed that results in >95% improvements
in certain programs. A couple of crates did show a slight regression of 1-15%
in compile times, but in most cases it's a win. The helloworld crate saw a 110%
increase in compile time, but it only equates to +0.1 second, which is probably
a small fixed overhead that gets overwhelmed in any larger project.

| Benchmark | 1.8.0 (time) | 1.8.0 ([rss]) | 1.17.0 (time) | 1.17.0 ([rss]) | % change (time) | % change ([rss]) |
|----------------------|--------------|---------------|---------------|----------------|-----------------|------------------|
| helloworld | 0.09s | 78MB | 0.19s | 83MB | 111.1% | 6.4% |
| rust-encoding 0.3.0 | 2.21s | 239MB | 1.91s | 163MB | -13.6% | -31.8% |
| regex 0.1.30 | 2.49s | 169MB | 2.86s | 178MB | 14.9% | 5.3% |
| inflate 0.1.0 | 4.60s | 134MB | 4.06s | 141MB | -11.7% | 5.2% |
| tuple-stress | 4.62s | 260MB | 4.67s | 363MB | 1.1% | 39.6% |
| html5ever 2016-08-25 | 5.16s | 234MB | 3.98s | 228MB | -22.9% | -2.6% |
| hyper 0.5.0 | 5.97s | 248MB | 5.44s | 234MB | -8.9% | -5.6 % |
| jld-day15-parser | 42.38s | 204MB | 1.38s | 111MB | -96.7% | -45.6% |

In graph form:

![Bar graph showing compilation time data from the table][compilation-time]{:class="center"}

[compilation-time]: /images/2017-05-Second-Birthday/compilation-time.png

*Thanks to Mark Simulacrum for gathering this benchmark data and Simon Heath
for analyzing it!*

Check out [perf.rust-lang.org] for monitoring Rust's performance day-to-day.

[benchmarks]: https://github.com/rust-lang-nursery/rustc-benchmarks
[rss]: https://en.wikipedia.org/wiki/Resident_set_size
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No idea if we want to mention this here, but we could link to perf.rlo. It's somewhat not related, but does have data since January 24th this year.

[perf.rust-lang.org]: http://perf.rust-lang.org/

[`cargo check`] stabilized in Rust 1.16.0 and does a type check of a project
without building it completely. This gives consistently fast feedback from the
compiler. Take a look at [the 1.16 announcement] to see how `cargo check` can
be incorporated into your workflow.

[`cargo check`]: https://github.com/rust-lang/cargo/pull/3296
[the 1.16 announcement]: https://blog.rust-lang.org/2017/03/16/Rust-1.16.html

The work on incremental compilation is proceeding well. Nightly builds
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We definitely need to get some numbers (or better, graphs) up in here, to offset the downer of the table above. Worst cast, we can pull from the beta post.

currently offer ["beta" support][incrcomp], permitting the compiler to
skip over code generation. We are in the midst of refactoring the
compiler to support finer-grained incremental computation, allowing us
to skip type-checking and other parts of compilation as well. This
refactoring should also offer better support for the IDE work (see
next section), since it enables the compiler to do things like compile
a single function in isolation. We expect to see the next stage of
incremental compilation becoming available over the next few
months. If you're interested in getting involved, please check out the
[roadmap issue #4][roadmap-4], which is updated periodically to
reflect the current status, as well as places where help is needed.

*Thanks to Niko Matsakis for this incremental compilation summary!*

[incrcomp]: https://internals.rust-lang.org/t/incremental-compilation-beta/4721
[roadmap-4]: https://github.com/rust-lang/rust-roadmap/issues/4

### [Rust should provide a basic, but solid IDE experience](https://github.com/rust-lang/rust-roadmap/issues/2)

As part of our IDE initiative, we created the [Rust Language Server] project.
Its goal is to create a single tool that makes it easy for any editor or IDE to
have the full power of the Rust compiler for error checking, code navigation,
and refactoring by using the standard [language server
protocol](http://langserver.org/) created by Microsoft and Eclipse.

While still early in its life, today the RLS is [available from rustup] for
nightly users. It provides type information on hover, error messages as you
type, and different kinds of code navigation. It even provides refactoring and
formatting as unstable features! It works with projects as large as Cargo.
We're excited to watch the RLS continue to grow and hope to see it make its way
to stable Rust later this year.

[Rust Language Server]: https://github.com/rust-lang-nursery/rls
[available from rustup]: https://github.com/rust-lang-nursery/rls#setup

*Thanks to Jonathan Turner for this RLS summary!*

### [Rust should have 1.0-level crates for essential tasks](https://github.com/rust-lang/rust-roadmap/issues/11), and [Rust should provide easy access to high quality crates](https://github.com/rust-lang/rust-roadmap/issues/9)

The [recent post on the Libz Blitz] details the Library Team's initiative to
increase the quality of crates for common tasks; that post is excellent so I
won't repeat it here. I will note that many of the issues that the Libs Team
is going to create will be great starter issues. For the blitz to be the best
it can be, the Libs Team is going to need help from the community-- that means
YOU! :) They're willing to mentor people interested in contributing.

In order to make awesome crates easier to find for particular purposes,
crates.io now has [categories] for crate authors to better indicate the use
case of their crate. Crates can also now have CI badges, and
[more improvements to crates.io's interface] are coming that will help you
choose the crates that fit your needs.

[recent post on the Libz Blitz]: https://blog.rust-lang.org/2017/05/05/libz-blitz.html
[categories]: https://crates.io/categories
[more improvements to crates.io's interface]: https://github.com/rust-lang/rust/issues/41616

### [Rust should be well-equipped for writing robust, high-scale servers](https://github.com/rust-lang/rust-roadmap/issues/10)

TODO: [Futures] and [tokio] enable zero-cost asynchronous programming

[Futures]: https://crates.io/crates/futures
[tokio]: https://tokio.rs/

### [Rust should integrate easily into large build systems](https://github.com/rust-lang/rust-roadmap/issues/12)

This initiative is mostly in the ideas stage; there's lots of great discussion
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could expand this slightly to say: we've done a lot of work with stakeholders to understand the challenges in build system integration today, and think we have a good overall vision for how to solve them, but there are a lot of details to be worked out.

on the tracking issue that has resulted in a few Cargo issues:

* [Support creating a build plan](https://github.com/rust-lang/cargo/issues/3815)
* [Support declaring external dependencies](https://github.com/rust-lang/cargo/issues/3816)

Keep an eye out for more improvement in this area soon.

### [Rust's community should provide mentoring at all levels](https://github.com/rust-lang/rust-roadmap/issues/13)

There were [RustBridge] events before RustFest Berlin and Rust Belt Rust, and
there's another planned for the day before RustConf coming up!

[RustBridge]: https://github.com/rust-community/rustbridge

There are many people who have started getting involved with various
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth talking about:

  • The introduction of language team "shepherds", which is partly about mentoring a set of folks around the lang team (and has been somewhat successful at that).
  • The Libz Blitz is set up specifically to provide a lot of mentoring opportunities. We did something similar with error message improvements
  • We've been working to grow both the number and size of subteams, to create more opportunities for people to step into leadership roles.
  • Have Outreachy and GSOC interns this summer.

We should emphasize the "all levels" part of the roadmap item: it's about onboarding first-time contributors but also adding folks all the way up at the core team level.

initiatives. I've worked with many people at many places in their Rust journey:
helping out with the conferences, giving their first conference talks,
providing feedback on the book, working on crates, contributing to Rust itself,
and joining teams! While we haven't made as much formal, measurable progress on
this front, everywhere I turn I see Rustaceans helping other Rustaceans.

## Rust in the future

While Rust is still just a toddler, it's still growing and still going strong.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"While Rust is still just a toddler, it's still growing and still going strong." we should workshop this one, try to close out a bit stronger.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have any suggestions? What would be stronger? More exclamation points maybe!!!! I'm feeling at a loss for words after all the rest of the words :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about "At two years old, Rust is finding its way into all corners of programming, from web development, to embedded systems, and even your desktop." Play on the toddler analogy without saying it, possibly.

The libraries and the infrastructure are maturing, we're paving the on-ramp,
and we're supporting each other. I'm optimistic about the direction Rust is
taking!

Happy birthday, Rust! Here's to many more! 🎉
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.