Rust

Share:

Questions in this section were shown to the developers who identified Rust as one of the languages they use.

How do you use Rust?

Florian Gilcher

Managing Director at Ferrous Systems

I like these numbers. Rust is growing, and the relative numbers here staying the same means both more jobs and a healthy group of newcomers that can be hired into those jobs. My recommendation for people with positions to fill: Drop the “X years of Rust requirement” and you’ll tap into a pool of talented hobbyists who are often professional coders already. There’s a healthy pipeline for growth.

Luca Palmieri

Principal Engineering Consultant at Mainmatter

Rust is making steady progress in the workplace, with an increasing number of production deployments. At the same time, the demand for Rust jobs is still significantly higher than the number of open positions. It is not ideal for developers looking to land their first Rust position, but it’s definitely good news for employers: There is a lot of talent out there ready to jump at the opportunity to work with Rust on a daily basis.

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

The answers to this question show me that there’s a vibrant balance and a lot of diversity within the Rust community.

It’s encouraging to see an increasing number of Rust developers be able to get paid for Rust. Comparing 2023 to 2022, we see an 11 percentage-point change within a single year.

While it might seem discouraging that only one in five people get to use Rust for work, this is consistent with a large number of people learning the language. When many people are new to the language, it’s very hard to get that statistic above 50%.

I think that it’s really healthy that people are using Rust for their personal side projects. This means that people are opting into Rust as a creative outlet.

How long have you been using Rust?

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

A large skew toward newer programmers is indicative of a community growing exponentially.

One thing for leaders in the community to remember is that more than 75% of people using Rust have less than one year’s experience in the language.

I would like to see more major projects in the ecosystem growing their number of contributors. There are many important crates currently maintained by a single developer.

Luca Palmieri

Principal Engineering Consultant at Mainmatter

Rust has great retention: It has been voted as the most-loved programming language on StackOverflow for seven years in a row, meaning that developers who learn Rust want to keep using it.

At the same time, we can see that the inflow of new developers into the Rust ecosystem remains strong: More than half of the respondents are just getting started with Rust (<6 months).

High retention and a healthy inflow of newcomers is great news for the ecosystem as a whole!

Florian Gilcher

Managing Director at Ferrous Systems

This is good news, particularly for newcomers. If you start Rust now, there’s an easy chance to become an expert in the field, compared to other languages where every team has a colleague with 10 years of experience or more. The best moment to pick up Rust is now!

Which programming languages do you use in your projects along with Rust?

Luca Palmieri

Principal Engineering Consultant at Mainmatter

More than half of the respondents are working on polyglot projects, leveraging Rust alongside other technologies. Depending on the programming language, we can make assumptions on the predominant patterns: a JavaScript/TypeScript front-end backed by a Rust API, native extensions (Rust+Python), mixed-language projects (C/C++), and over-the-wire interactions between microservices (Go, Python, C#, Java, etc.).

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

It’s wonderful to see that Rust plays well with others. I can see the influence of using Rust for web backends (JS/TS, SQL) and CLIs (shell scripting languages) here.

Rust being used to extend, or at least being used in conjunction with, JVM languages, and to a lesser extent languages built with the CLR (C#), is a very interesting sign. I expect that as commercial adoption grows, there will be increased pressure to ensure that Rust can work well in build systems that compile/build multiple languages.

From which programming language have you migrated to Rust?

Florian Gilcher

Managing Director at Ferrous Systems

The summary of the above statistics remains the same over the years: Rust was and stays a language that does not just cater to the systems programming crowd, but has a much larger scope!

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

Wow! The proportion of “hasn’t replaced any programming language” is much larger than I expected, perhaps 10 times as much or more.

This is a good sign that Rust is becoming more accessible. But it strengthens my personal belief that we, as a community, need to get better at teaching Rust.

How does Rust code interact with the other parts?

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

I was expecting WebAssembly/WASI to show up here, but 22% is much higher than what I would have guessed!

It’d be interesting to dive deeper into the interop patterns that WebAssembly enables. Is this about extending Rust codebases with user-provided plugins written in an arbitrary language? Or are we looking at Rust for writing components run by other applications? Or are we seeing the success of the Spin/Fermyon experiment, building applications out of WebAssembly modules written in different programming languages?

Luca Palmieri

Principal Engineering Consultant at Mainmatter

Rust for web backends!

The drop in the proportion of projects using FFI is interesting.

I am looking forward to seeing WebAssembly continue to strengthen. Wasm modules provide a strong barrier to supply chain attacks, which is an area that the Rust open-source ecosystem is currently quite vulnerable to.

Florian Gilcher

Managing Director at Ferrous Systems

The diversity of integration options used in practice is staggering. Also, given that most projects have some kind of integration component, I’d like to see more eyes on Rust’s broad integration into other systems.

What plugins/utilities do you use in your IDE for Rust?

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

The real surprise here is that there are so few commercial options available. I applaud JetBrains for being proactive in its support for Rust over multiple years.

Florian Gilcher

Managing Director at Ferrous Systems

Happy to see that the two major editor options are thriving. rust-analyzer seems to have eaten the remnants of the discontinued RLS/Racer, while IntelliJ Rust remains the default choice for those who want an integrated experience.

Luca Palmieri

Principal Engineering Consultant at Mainmatter

One year ago, rust-analyzer joined the Rust organization and officially replaced RLS as the “official” language server, the culmination of a process that started more than two years ago. The survey confirms that the user base of RLS is finally moving over to rust-analyzer, but it serves as a sobering reminder as well: Migrating an entire ecosystem is a complex and slow process, no matter how superior the alternative is and the amount of pressure/coordination being deployed.

What IDEs / editors do you use for Rust development?

What Rust features do you miss the most in IDEs?

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

Looking through this list of features makes me want much more from my IDE! I, too, am hopeful about lifetime visualization, but I wonder whether this will help in complicated cases. It might just end up being another mini-language that I’ll need to learn to interpret.

I’m impressed by how high procedural macros are rated. I didn’t realize that so many people were writing their own proc-macros!

One thing that JetBrains could offer would be an experience similar to GitHub Codespaces. I really love using cloud desktops, but I am constantly wary of the price.

Luca Palmieri

Principal Engineering Consultant at Mainmatter

Let’s start from the positives: one-third of the responders are happy with the state of IDE support in Rust. That’s huge!

It’s not all roses, though. We need to do more to help users with those aspects that are unique to Rust, such as lifetimes. Procedural macros are an ongoing challenge: They are ubiquitous in complex codebases, due to their usefulness, but they significantly degrade the IDE experience when used extensively.

Once these core language constructs are well-covered, I would be excited to see IDEs branching into more specialized use cases (such as built-in support for specific web frameworks).

Which build systems do you use to compile Rust?

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

6% of respondents are using Make for their builds!? Wow, some people really love to hold on to their old tools. One thing that I’ve noticed about developers is that they have a strong preference for control.

Luca Palmieri

Principal Engineering Consultant at Mainmatter

No surprise here: Cargo reigns supreme when it comes to Rust projects.

How do you usually debug your Rust code?

Luca Palmieri

Principal Engineering Consultant at Mainmatter

The picture hasn’t changed much compared to last year: println! debugging has the lowest barrier to entry and remains the leading technique among responders. We definitely have a tooling gap here, but I think that’s not the entire story: We have an education gap, as well. There is very little material around teaching folks how to leverage the existing debugging tools.

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

There’s no shame in using println! (to make it sound okay, you could call it tracing debugging). But it is nice that IDE developers have invested so much effort in making real debugging very easy to use. Learning to use a debugger to step through a program’s execution is a real productivity boost.

Florian Gilcher

Managing Director at Ferrous Systems

I’m frustrated with this situation. I think a better debugging experience is possible, and IDEs seem to be a good way toward it. However, I find the practice rather stagnant over the years. This shows in the fact that “just printing to console” is still the most preferred option.

What profiling tools do you use for Rust?

Luca Palmieri

Principal Engineering Consultant at Mainmatter

That’s a sharp increase in the number of developers using a profiler in their Rust project!

It’s almost entirely due to the increased usage of the profiler bundled by the IDE: When we make power tools easy to use, developers take advantage of them.

We have a lot more work to do, though. We should be able to profile applications in our production environments with the same level of ease, but we are still quite far from a great developer experience there.

Florian Gilcher

Managing Director at Ferrous Systems

The relative popularity of bundled profilers validates my general assumption that profiling is often not done because it’s not easily accessible.

What kind of projects do you develop in Rust?

Luca Palmieri

Principal Engineering Consultant at Mainmatter

This is why I love surveys – they challenge the predominant narratives with the power of raw data.

Rust rhymes with “system programming” in the mind of most people, but the reality is a lot more nuanced: 38% of the responders are using it for web development, contrary to the narrative that Rust “is overkill” or “too difficult” for this use case. I strongly believe this is the next big vertical for Rust, and it will be interesting to see confirmation of this hunch in the data.

Florian Gilcher

Managing Director at Ferrous Systems

I’m happy to see that with all the growth happening in Rust, its use in embedded/IoT remains on the same level. This year’s positive surprise for me is the amount of use in Desktop applications increasing – there’s always a number not matching your gut feeling. That the numbers don’t change much in relation to each other points to a relatively formed and stable ecosystem that is going somewhere.

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

Seeing the large spectrum of projects is so refreshing. One thing that I love about the language is that its safety guarantees give people the confidence to experiment in domains that have previously been inaccessible.

What platform do you target with your Rust projects?

Tim McNamara

Founder of Accelerant.dev, author of Rust in Action

It’s really fascinating to see the diversity here. I would have expected server-side Linux to be much higher, well over 90%. I suppose this corresponds with a large number of people using Rust to build CLIs and a majority of developers using it for hobby and side projects.

The proportion of embedded developers seems very high. I think of embedded as a fairly small niche, but it’s clear that there’s a dedicated and broad group of people using Rust for projects that don’t rely on an operating system.

Florian Gilcher

Managing Director at Ferrous Systems

Again, no surprises here. The ongoing adoption of Rust in more conservative enterprises increases the relevance of Windows as a target.

Thank you for your time!

We hope you found our report useful. Share this report with your friends and colleagues.

Join JetBrains Tech Insights Lab

Take part in surveys and UX studies to make JetBrains products easier to use yet even more powerful. For participating in our research, you’ll also get the chance to earn rewards.

Raw data Soon

We are preparing the raw data. You can leave your email to get notified when it is available for download.

By submitting this form I agree to the JetBrains Privacy Policy

If you have any questions or suggestions, please contact us at surveys@jetbrains.com.