A survey of Rust users finds difficulty and frustration with the language’s highly touted features for memory safety and correctness Credit: Karina Carvalho A new survey of the Rust user community, conducted by the Rust language team, shows growing interest in the language and its use—but also user frustration with some Rust features that the project touts as advantages. The survey drew responses from almost 6,000 Rust users. Questions ranged from the length of one’s experience with Rust to opinions about platforms, workflow targets, and toolchains. Because Rust is a relatively new programming language, the vast majority of surveyed users (76.1%) have been using Rust for less than 1 or 2 years. How long did it take for them to feel competent with the language? Most users surveyed felt proficient in “less than a month” (33.8%) or “less than a year” (30.3%). Relatively few (7.1%) felt proficient in less than a week. A significant chunk (22%) of those surveyed still don’t feel productive with Rust. What makes Rust so hard to master? Users reported that two of Rust’s most distinguishing features—lifetimes and the ownership/borrowing system—were either “tricky,” “very difficult,” or something they “still don’t get.” Rust’s big claim to fame is a mix of speed and memory safety. Rust code compiles to machine-native instructions, and the syntax and idioms around memory management—lifetimes and borrowing—make it difficult for memory-unsafe code to compile at all. But users still have trouble understanding those metaphors. As a result, the Rust team is investigating ways to make the concepts more intuitive. Other questions revolved around challenges to continuing with Rust. Around half of those who quit using Rust did so after just one month. The most common reasons cited for not using Rust were that it was “too intimidating, too hard to learn, or too complicated” (25%), that “My company doesn’t use Rust” (47.83%), and that “I haven’t yet learned Rust but I want to” (74.02%). In addition to the need to improve Rust’s learning curve, survey takeaways for the Rust team include adding better development features for writing client-side GUI applications, bolstering support for IDEs, and improving the maturity of the standard library. The survey notes that the state of the standard library “isn’t the fault of maintainers, who are already working hard to write and publish the crates [in the standard library], but that generally more companies need to get involved and offer commercial support.” It’s a goal that is likely to remain distant until Rust becomes more broadly used in enterprise settings. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos