Llogiq on stuff

What Rust Needs in 2018 to Succeed

In the spirit of the current Rust blog post extravaganza, here are my 2¢ on the most important work to make Rust win big:

Language

We’re on a very good way here, what’s needed is stabilizing the things already in flight:

  • Non-lexical lifetimes
  • Specialization (in whatever capacity we can soundly allow)
  • declarative macros 2.0
  • procedural macros 2.0
  • autogenerate trait impls for arrays of arbitrary size

Standard library

I think we need to finish the existing data structures (especially the maps and their entries, ranges, etc.), and fill in the remaining blanks.

One thing that stands out is SIMD support, which is desperately needed for performance in various projects and currently relies on nightly.

Tooling

  • Stable clippy and rustfmt are already on track. Yay!
  • NRC recently showed an early alpha for a graphql system for Rust – this has a lot of potential
  • support for more software quality assurance techniques, e.g. mutation testing, design by contract / semi-automatic validation, etc.
  • improve IDE support, especially quick fixes, refactorings and Rust-specific visualizations (e.g. lifetimes)
  • Improve support for i18n / l10n of Rust code
  • Improving the situation for those with intermittent or slow internet connection
  • And the big one: Improve packaging support: We need to make getting Rust code on an arbitrary system a piece of cake (xargo and android-glue already cover this to some extent), whether compiling or just deploying it

Crates

  • Discoverability has improved in 2017, but that doesn’t mean we get to rest on our laurels – we should double down on this
  • Obviously, we cannot force people to choose one project over another, but it would be great if we could somehow focus our collective resources on fewer standard high-quality crates
  • What’s most needed: Database drivers, standard file/wire format support, GUI (this one’s been a big pain point so far)

Community

  • We’re on a good way here, with Ashley and Florian (and a whole lot of others) supplying teaching resources. Those efforts cannot be commended too much! My hat’s off to both of them
  • We should ask how to improve support for local meetups to strengthen community cohesion (In the undying words of Steve Ballmer: “Developers! Developers! Developers!”)
  • The outreach to companies using (or planning to use) Rust has been off to a good start in 2017, let’s make 2018 the year of Rust in the enterprise!
  • As the community grows, we will have to deal with more trolls. So far the mods of the official channels have done an OK job doing this, but still, 2017 had a few incidents. I foresee the need to expand the mod team in 2018

So here’s to a great 2018 for all Rustaceankind!