Rust 2018

Published: 2018-01-20 by Pradeep Gowda.
Tagged: rust

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

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.