Rust Language/Adoption Survey

We invite you to participate in a research study being conducted at the University of Maryland, College Park. We are interested in the use and adoption of Rust within the development community. Our research relies on the generous help of interested developers!

The online survey will take about 30 minutes to complete. We have posted this to other locations such as Discord, Facebook, and Reddit. If you have already taken the survey, please do not take it again! It consists of questions about your general programming experience and your personal experience with using Rust.

You are eligible for the study if you:

  1. Are at least 18 years old.
  2. Have Rust development experience
  3. Are comfortable completing the study in English.

If you are interested in this study and eligible, please click here to complete the study:
https://umdsurvey.umd.edu/jfe/form/SV_87x3o1z8AN54YNn?origin=rplf

Unfortunately, we cannot compensate you for participating in the study, but if you’re interested, we will be happy to share more information about our research with you. If you have further questions, please contact the Kelsey Fulton at kfulton@cs.umd.edu.

Thank you for helping our research!

I have some questions and feedback on one of the questions:

Q: Notwithstanding your general interest in using Rust in the future, for which of the following tasks/applications/projects would you not choose Rust? (Check all that apply)

  • GUI applications
  • Web applications
  • Mobile applications
  • Writing compiler code
  • Writing graphics code
  • Writing testing code
  • Other

I find this a very confusing question, since "it all depends". The negation ("not choose") adds puzzling complexity and risk of further confusion. What are you trying to get at? Given the right circumstances, I think Rust is suitable for all these, but currently I would likely choose Python based on my experience with it. And the "notwithstanding" clause makes me drop use cases that just seem interesting to me, causing me to answer that I wouldn't choose Rust for anything. Is that the goal?

2 Likes

Thanks for the feedback! I totally see why this could be confusing. I think what we're trying to get at here is what use cases is Rust just not a good language for? Ideally, we'd like you to choose select any choices where Rust would not likely be your language of choice for these tasks or where using Rust for one of these tasks might be really difficult. Not selecting any answer is totally fine. You should be able to move past the question without selecting any answer. Sorry for any confusion and thanks for taking the survey!

1 Like

Yeah, that question is very woolly and threw me sideways.

Most of the options there are not about the language as such but about the availability of libraries and tools to support what you want to do.

For example I would write a GUI app in C++ because Qt is easily available, or Javascript because of the whole web world out there.

And what's with "testing code"? Testing what?

Ah well, all such polls are full of such gibberish.

I think I got the idea, despite what I said above.

In short, in my view:

Rust would not be my choice for a program intended to be written in a few minutes or an hour to perform a one off calculation or as a proof of some concept and then thrown away. That is what JS and Python are for.

After that Rust would be my choice for anything that is worth doing, that one wants to have some pride in and is expected to live for any time.

2 Likes

I was also a bit stymied by that question, because I've never done (for instance) mobile app development, so I'm definitely not expecting to use Rust for mobile development in the future, but that's more a statement of my lack of knowledge about mobile development than anything about Rust per se.

I left all the boxes blank. But some of them were "I don't know anything about this topic, so I don't know what I would choose" blanks and some of them are "I'm familiar with this, and I would choose Rust" blanks.

Noted! Thanks for the feedback and clarification. I'll definitely take this into consideration when analyzing the data/writing the paper.

1 Like

Is this research group going to make some actual measurements of their own?

Like actually writing some code in Python, JS, C++, Java, Rust.

Maintaining it for some years. Evaluating the performance, reliability over that time?

If not, how is this different from the TIOBE index or other programming language surveys?

We did not plan to make actual measurements. Our goal with this survey is to hopefully start to understand the barriers to adoption of secure programming languages broadly.

I would be loath to conflate "secure" with "safe".

Certainly the Rust concept of "safe" ensures a lot of bugs that are trivial to create accidentally in languages like C/C++ are not possible in Rust. Thanks to the type system, the memory aliasing rules, array bound checks etc. As I'm sure you know. And certainly eliminating such memory errors goes a long way to ensuring correctness and hence security.

However it is still easy to write insecure software in Rust despite all that.

1 Like