# Rust 2021 Survey
## Section 1 (State of Rust Language Survey)
**Do you use Rust?**
Select one:
* Yes
* No, but I've used it in the past.
* No, I've never used Rust
## Section 2 (Stopped Using Rust)
**How long did you use Rust before you stopped?**
Select one:
* Less than a day
* Less than a week
* Less than a month
* Less than a year
* More than a year
**How long ago did you stop using Rust?**
Select one:
* Less than a day
* Less than a week
* Less a year
* More than a year
**Why did you stop using Rust?**
Select all that apply:
* Rust didn't solve a problem for me
* Rust was too intimidating, too hard to learn, or too complicated
* Rust didn't have the libraries I needed
* Rust didn't have the tools I need
* Rust didn't have good IDE support
* Rust seemed too risky to use in production
* My company didn't use Rust
* Switching to Rust slowed me down too much
* I needed better interoperability between Rust and other languages.
* Other
**If you indicated a lack of support for platforms or architectures that you would like to target, which would those be?**
Short answer
**If you indicated a desire for increased interoperability, which of the following languages would you want to use with Rust?**
* C
* C++
* C#
* Clojure
* Elm
* Erlang
* Go
* Haskell
* Java
* JavaScript
* Objective-C
* PHP
* Python
* Ruby
* Scala
* Swift
* Other
**Please provide any additional details on why you stopped using Rust.**
Long answer text
### Section 3 (Never Used Rust)
**I never used Rust because...**
* Rust doesn't solve a problem for me
* Rust is too intimidating, too hard to learn, or too complicated
* Rust doesn't have the libraries I needed
* Rust doesn't have the tools I need
* Rust doesn't have good IDE support
* Rust seems too risky to use in production
* My company doesn't use Rust
* Switching to Rust would slow me down too much
* I needed better interoperability between Rust and other languages.
* I haven't learned Rust yet, but I want to.
* I haven't learned Rust yet, and I don't want to.
* Other
**If you indicated a lack of support for platforms or architectures that you would like to target, which would those be?**
Short answer
**If you indicated a desire for increased interoperability, which of the following languages would you want to use with Rust?**
* C
* C++
* C#
* Clojure
* Elm
* Erlang
* Go
* Haskell
* Java
* JavaScript
* Objective-C
* PHP
* Python
* Ruby
* Scala
* Swift
* Other
**Please provide any additional details on why you never used Rust.**
Long answer text
## Section 4 (Using Rust)
**How did you get interested in Rust?**
Long answer text
**How long have you been working with Rust?**
* Less than a week
* Less than a month
* 1 to 3 months
* 3 to 6 months
* 6 to 12 months
* 1 to 2 years
* 2 to 3 years
* More than 3 years
**How long did it take you to become productive in Rust?**
* Less than a week
* Less than a month
* Less than a year
* More than a year
* I don't feel productive, yet
**How many other programming languages did you know when you originally started working with Rust?**
* 0
* 1
* 2
* 3
* 4
* 5
* 6 or more
**If you summed the size of all Rust projects you work on, how big would it be?**
* less than 1,000 lines
* 1,000 to 10,000 lines
* 10,000 to 100,000 lines
* More than 100,000 lines
**How regularly do you work with Rust?**
* Daily
* Weekly
* Monthly
* Rarely
**How would you rate your Rust expertise?**
Scale 1 to 10 with beginner and expert labels on the ends
**How would you rate the difficulty of learning these concepts/topics?**
Rate each category according to the label that applies best.
Labels: Easy, Moderate, Tricky, Very Difficult, Still don't get it, N/A (haven't learned this yet).
* Enums
* Modules
* Ownership and Borrowing
* Iterators
* Traits
* Generics and Trait Bounds
* Lifetimes
* Cargo
* Macros
* Unsafe
* Async I/O
* Pattern Matching
* Collections (Vec, HashMap, etc.)
* Closures
* FFI
* Concurrency (threads, locks, channels)
**I would use Rust more often if...**
Select all that apply
* Rust solved more problems for me
* Rust was less intimidating, easier to learn, or less complicated
* Rust had the libraries I need
* Rust had the tools I need
* Rust had better IDE support
* Rust supported the platforms I need
* Rust was less risky to use in production
* Rust had better interoperability between languages
* My company used Rust
**If you indicated a desire for increased interoperability, which of the following languages would you want to use with Rust?**
* C
* C++
* C#
* Clojure
* Elm
* Erlang
* Go
* Haskell
* Java
* JavaScript
* Objective-C
* PHP
* Python
* Ruby
* Scala
* Swift
* Other
## Section 5 (Rust Compiler and Tools)
**Which edition of Rust do you use?**
* 2015
* 2018
* Both
* Don't know
**Which version(s) of Rust do you use for your applications?**
Select all that apply
* Current stable release
* Previous stable release
* Beta release
* Nightly
* Custom Fork
* I don't know
* Other
**If you do not use the current stable compiler, why? Please name specific dependencies or unstable features, if relevant.**
Long answer text
**If you use nightly, do you automatically update or pin a version for use?**
* Automatically update
* Pin
* Don't know
* Other
**Has upgrading to a new stable version of the Rust compiler (not when upgrading library dependencies) broken your code in the past year?**
* Yes
* No
* Don't recall
**Please provide details about what broke and what was needed to fix it**
Long answer text
**What your preferred way of installing Rust?**
Select all that apply
* Official rust-lang.org tarballs
* Official rust-lang.org Windows .msi installers
* Official rust-lang.org OS X .pkg installers
* rustup.rs
* Linux distro package
* Homebrew
* Other
**If you do not use rustup.rs, why not?**
Long answer text
**If you do not use Cargo, why not?**
Long answer text
**What is your experience with other tools you use?**
Select one of the labels for each of the following tools.
Labels: Really dislike, dislike, Neither like nor dislike, like, really like, Never used
* rustfmt
* clippy
* rustdoc or cargo doc
* racer
* Rust Language Server (RLS)
* rust-analyzer
* bindgen
* IntelliJ Rust
**Feel free to tell us more about your experience with these tools, or other Rust tools**
Long answer text
## Section 6 (Response to challenges)
For each of the challenges listed below, please indicate whether you believe there has been any change within the last year
Labels: Got worse, no change, slight improvement, some improvement, a lot of improvement, I don't know
* Library support
* IDE Experience
* Adoption level of Rust
* Available tools and support
* Learning curve
* Stable features and crates
* Async programming options
* GUI development
* Rust documentation
* Compiler time
## Section 7 (Rust Platform)
**What platforms are you developing on?**
Select all the apply
* Windows
* Windows (WSL)
* Apple macOS
* Linux
* BDS-Variant
* Other
**What platforms are you targeting**
Select all the apply
* Android
* Windows
* Apple iOS
* Apple macOS
* Linux
* BSD-variant
* WebAssembly
* Embedded
* asm.js
* Other
**Are there any platforms or architectures that you would like to target, but currently cannot? (If possible, please provide details, ideally toolchain "triples")**
Long answer text
## Section 8 (Editors)
**What editors do you use when writing Rust?**
Select all the apply
* Atom
* Eclipse
* Emacs
* IntelliJ
* Sublime
* Vim
* Visual Studio
* VSCode
* Other
**Which IDE setup(s) do you use?**
* No special support (or just CTAGS)
* Only racer
* RLS
* rust-analyzer
* IntelliJ Rust
* Other
## Section 9 (Rust Ecosystem)
**Which libraries do you consider critical in the Rust ecosystem?**
Long answer text
**Has a minor version upgrade of a dependency broken your code?**
* Yes
* No
**If so, please provide details here on how minor version upgrades broke your code.**
Long answer text
**How many of your dependencies are 1.0 or above?**
* None
* Some
* Most
* All
* I don't know
**What critical libraries are missing in the Rust ecosystem?**
Long answer text
## Section 10 (Rust at Work)
**Do you or your company use Rust at work?**
* Yes, I work with Rust full time
* Yes, I work with Rust part time
* No, but my company uses Rust
* No
* Not sure
* Not applicable
**For programmers - what languages, other than Rust, do you use at work?**
Short answer text
## Section 11 (Not using Rust at Work)
**Does your company plan to use or evaluate Rust in the future?**
* Yes
* No
* I don't know
**How could we make Rust more appealing to your company?**
Long answer text
## Section 12 (Using Rust at Work)
**How many developers at your company use Rust at work?**
* 1
* 2-5
* 6-10
* 11-25
* 25-100
* More than 100
* I don't know
**Approximately how many total employees are in your company?**
* Under 10
* 11-49
* 50-99
* 100-149
* 150-199
* 200-499
* 500-999
* 1000 - 4,999
* 5,000 - 10,000
**If you summed the size of all Rust projects at work, how big would it be?**
* Less than 1,000 lines
* 1,000 to 10,000 lines
* 10,000 to 100,000 lines
* More than 100,000 lines
**Is your company planning on hiring Rust developers in the next year?**
* Yes
* No
* I don't know
**What are some ways you or your company is using Rust at work?**
Long answer text
**How could we make Rust more accepted at your company?**
Long answer text
## Section 13
**Which titles do you believe best match your role?**
* Analyst
* Architect
* Consultant / Freelance
* Data Scientist
* Designer
* DevOps / SRE
* Executive
* Founder
* Hobbyist
* Manager / Team Leader
* Programmer / Software Engineer
* QA Engineer
* Research Assistant
* Scientist
* Student
* Systems Operations
* Teacher / Professor
* Technical Writer
* Web Developer / Front End Developer
* Other
**What industries do you work in?**
* Advertising
* Advertising / Marketing Technology
* Aerospace
* Audio
* Automated Share Trading
* Big Data
* Bioinformatics
* Blockchain
* Computer administration
* Data science
* Databases
* Desktop applications
* Distributed systems
* Education / academia
* Embedded devices
* Enterprise software
* Financial
* Gaming
* Geospatial
* Government / Military
* Health care
* High-Performance Computing
* Internet of Things
* IT
* Industrial
* Machine Learning
* Entertainment / Media
* Medical Devices
* Mobile (Android)
* Mobile (iOS)
* Network programming
* Retail / e-commerce
* Robotics
* Scientific and numeric computing
* Security
* Simulation
* Technology
* Telecom
* Web Application Backend
* Web Application Frontend
**How many software developers work at your company?**
* Not applicable
* None
* 1 -10
* 10 - 20
* 20 - 50
* 50 - 100
* 100 - 1000
* More than 1000
* I don't know
**Have you contributed to any open source code in the past year?**
* Yes
* No
** If you answered yes, have you ever contributed to a Rust crate or tool?**
* No, but if I find something bothers me, I'll try to fix it.
* No, and I probably won't
* Yes, a couple of times
* Yes, I contribute regularly
* Yes, I maintain crates
**What programming languages are you comfortable with?**
Select all the apply
* C
* C++
* C#
* Clojure
* Elm
* Erlang
* Go
* Haskell
* Java
* JavaScript
* Objective-C
* PHP
* Python
* Ruby
* Scala
* Swift
* Other
**Please rank your top 5 programming languages in terms of preference**
Columns: 1st, 2nd, 3rd, 4th, 5th
* C
* C++
* C#
* Clojure
* Elm
* Erlang
* Go
* Haskell
* Java
* JavaScript
* Objective-C
* PHP
* Python
* Ruby
* Scala
* Swift
* Other
## Section 14 (Demographics)
**Do you feel welcome in the Rust community?**
* Yes
* No
* I don't know
**What actions could we take to make you feel more welcome?**
Long answer text
**Do you consider yourself a member of an underrepresented demographic in technology?**
Select all that apply
* No
* Yes, but I prefer not to specify
* Cultural beliefs
* Disabled or person with a disability (including physical, mental, and other)
* Educational background
* Language
* Lesbian, gay, bisexual, queer or otherwise non-heterosexual
* Non-binary gender
* Older or younger than the average developers I know
* Political beliefs
* Racial or ethnic minority
* Religious beliefs
* Trans
* Woman or perceived as a woman
* Other
**Do you feel your situation make it difficult for you to participate in the Rust community?**
* Yes
* No
* Maybe
**If you find it difficult to participate in the Rust community, and feel comfortable giving more details, please tell us what makes it difficult**
Long answer text
**What city / state / region / country do you live in?**
Long answer text
**What languages are you fluent in?**
* Arabic
* Bengali
* Cantonese
* English
* French
* German
* Hindi
* Japanese
* Mandarin
* Polish
* Portuguese
* Punjabi
* Russian
* Swedish
* Spanish
* Other
## Section 15 (Rust Community)
**What resources do you use to keep up with the Rust ecosystem?**
* This Week in Rust (TWiR)
* Read Rust
* Reddit r/rust
* lobste.rs t/rust
* Twitter
* internals.rust-lang.org (Discourse)
* users.rust-lang.org
* StackOverflow
* Discord
* Zulip
* Private Group Chat
* Other
## Section 16 (Rust Conferences)
**Did you attend a Rust conference in the past year? If so, which ones?**
Long answer text
**If you wanted to attend a Rust conference, but could not, why not?**
Long answer text
**If you are interested in attending a Rust conference, which of these regions would you travel to?**
Select all that apply
* Africa - North
* Africa - East
* Africa - Central
* Africa - West
* Africa - South
* North America - Canada
* North America - United States
* North America - Mexico
* North America - Central
* North America - Caribbean
* South America - North
* South America - East
* South America - Central
* South America - West
* South America - South
* Asia - North
* Asia - East
* Asia - Central
* Asia - West
* Asia - South
* Asia - Southeast
* Europe - North
* Europe - East
* Europe - Central
* Europe - West
* Europe - South
* Oceania - Australia
* Oceania - New Zealand
* Oceania - Melanesia
* Oceania - Micronesia
* Oceania - Polynesia
**Please provide precise details on where you would travel for a Rust conference**
Long answer text
## Section 17 (Challenges and Feedback)
**What do you feel are the biggest challenges or problems for the Rust project? What could we do to improve adoption**
Long answer text
**What new things related to the Rust project are you most excited about?**
Long answer text
**Anything else you would like to tell us?**
Long answer text
## Section 18 (Contact Info)
**Email address**
Short answer text
**What are the reasons you would like to be contacted?**
* I'm interested in attending Rust meetups or conferences
* I am interested in starting a Rust meetup or conference
* My company uses Rust or would like to, and I would like to talk to Core or the Community team
* I am interested in Rust training
* I am interested in being contacted for more details on my survey answers
**If other, why would you like to be contacted?**
Long answer text?