Rust 2018

This is a response to Rust2018 call for blog posts and how I would like to see Rust evolve this year.

Created: by Pradeep Gowda Updated: May 22, 2020 Tagged: rust

What has gotten really, really good in rust-land in the past year:

  • IDE story – I am surprised how good the IntelliJ integration is. I like writing Rust in IntelliJ over VSCode (gasp!)
  • Documentation – There are so many good resources around Rust today. The second edition of TRPL, Jim Blandy’s “programming rust”, many posts around Rust lifetimes. My understanding of Rust has grown 10x compared to even 60 days ago!
  • Community – My paricipation in Rust Belt Rust in Columbus, OH definitely helped me get a good feeling for the language and the community. I had been ambivalent about Rust when compared to my other programming language dalliances – D, Nim etc., But seeing the amount of quality work done (and the people behind it) from up close, has convinced me to make 2018 the “Year of Rust”.
  • Oh, we also started IndyRust – the Indianapolis Rust meetup group in December of 2017.

This is what I would like to see Rust get better at this year. Think of this as a wishlist, not demands :)

  1. Private Crate registry Unless you are doing open source development, having a local code/library repository (to the $Company network) is a must.

  2. Good story around micro/web services A lot of what is considered “mainstream” programming revolves around the web. There is no shortage of languages and frameworks (Java, Scala, Go, Python, etc.,) that make it easy to get started, scale well and have robust deployment options. While I wouldn’t necessarily replace a Python, or Go web service with Rust, it can be a compelling alternative to JDK languages for long running, memory-sensitive applications.

  3. 12 Factor. Over the last few years we have seen 12 factor methodology becoming a commonly accepted way to roll out SaaS applications. Getting into the enterprise will become that much easy if Rust applications can do these things as well as JDK languages. This is just the cost of entry to play in the same sandbox.

  4. Cloud native Cloud Native Computing Foundation projects help in realising the “12 factor app” on top of accelarating the DevOps story by the use of container technologies etc., Rust should become good at leveraging these technologies by writing clients and/or libraries.

  5. Unikernels 2018 saw Meltdown and spectre making us think about the cost CPUs again. Public cloud like AWS has made it easy for us to spin up instances as we need. But, this soon becomes very expensive as you become successful (a good problem to have). Solutions like scylladb and Seastar project have shown that there is space for re-thinking many of big-data/long-running applications from ground up. I have huge respect for the scyclladb for they have achieved in a short time using a powerful langauge like C++-11/14?. Rust can definitely compete in the same space. Combining Rust with unikernel approach (eg: rump kernels) can help building software that makes good use of the “metal” and eke out lot more from the same hardware.