Matt Rickard

Share this post

Rebuilding in Rust

blog.matt-rickard.com

Discover more from Matt Rickard

Thoughts on engineering, startups, and AI.
Continue reading
Sign in

Rebuilding in Rust

Jan 18, 2023
Share this post

Rebuilding in Rust

blog.matt-rickard.com
Share

There's a trend in developer tools and infrastructure – rebuild inefficient parts of the stack in a more high-performance language like Rust. There's ruff by Charlie Marsh, which is an extremely fast python linter that's written in Rust (10-100x faster than existing linters!). Then there's Turbopack, which is a bundler written in Rust that aims to replace webpack (not to mention esbuild, written in Go).

It's not only a chance to take advantage of performance optimizations but to rethink the design of the tool and take advantage of a more modern programming language – NodeJS's (C++) and its successors Deno (Rust) and Bun (Zig). There's warp, the next-gen terminal written in Rust.

Why Rust? A correct but uninteresting answer is the community – both existing libraries and the opportunity for aspiring developers to build those libraries.

A more nuanced answer might be Rust's interoperability – it's easy to interop between C++ and Rust (at least easier than it is in Go and other modern systems languages). It also has best-in-class WebAssembly target support – again, compared to a language like Go which supports WebAssembly compilation but has its quirks (e.g., large binary size, no WASI support). For example, RustPython (the interpreter used by ruff) can be embedded as a WebAssembly module and easily run in the browser.

Performance improvements and interoperability are extremely powerful together – not only will they optimize existing workflows, but unlock completely new ones as well.

Share this post

Rebuilding in Rust

blog.matt-rickard.com
Share
Previous
Next
Comments
Top
New
Community

No posts

Ready for more?

© 2023 Matt Rickard
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing