Thinkstock
Electronicdesign 18311 Thinkstockphotos 122574509 Rust Promo 0
Electronicdesign 18311 Thinkstockphotos 122574509 Rust Promo 0
Electronicdesign 18311 Thinkstockphotos 122574509 Rust Promo 0
Electronicdesign 18311 Thinkstockphotos 122574509 Rust Promo 0
Electronicdesign 18311 Thinkstockphotos 122574509 Rust Promo 0

Rust Survey Highlights its Growing Popularity

Sept. 15, 2017
The latest Rust survey had more than 5,000 respondents. Most are using Rust in applications.

This article is part of the TechXchange on Rusty Programming.

For those that don’t know, Rust is a new programming language that is designed to reduce the number of errors in an application through the strict management of memory references, among other safety-related features. There are no commercial Rust tool suites yet, but the latest Rust survey had 5,000-plus respondents, with most using Rust to develop applications. More than 40% have been using Rust for over a year. That is still a small fraction compared to those using C and C++, but it represents a significant growth in the use of Rust.

The size of Rust projects is growing as well but most are still under 10,000 lines (Fig. 1). Most projects are likely evaluations of Rust so this amount is likely to rise if these projects continue to use Rust.

Linux is the primary target platform for Rust applications (Fig. 2), but Windows and Apple macOS are used for a significant fraction. Some applications are used for more than one target. The number of embedded applications is low, but that is likely due to the lack of commercial Rust compilers.

Much of the work on Rust is associated with open-source projects, versus projects in a commercial setting (Fig. 3). This is not surprising given the dominance of C and C++ in embedded applications, as well as other programming languages used in commercial settings.

Rust has a lot of promise, and the latest versions are targeting stability and long-term support as the feature set has been refined. Programming languages like Ada and SPARK that have safety and security features have found limited appeal outside of military and avionic applications, but this is also changing. The big difference between these and Rust is that commercial tool suites are available now, and the definition of the languages and support systems are also well defined, which is important for commercial applications.

In the meantime, the use of C and C++ for safety and security critical applications is being augmented through the use of third-party static and dynamic analysis tools. Developers who understand the advantages of these tools, and languages like Ada and SPARK, have an edge in delivering safe and secure applications—on time and within budget. This Internet-of-Things (IoT) age is more susceptible to bugs in applications, which is why it’s important to use tools that minimize these problems. Rust may wind up being in that mix, and there is a growing number of developers getting experience with it.

Read more article in the TechXchange on Rusty Programming.

Sponsored Recommendations

Article: Meeting the challenges of power conversion in e-bikes

March 18, 2024
Managing electrical noise in a compact and lightweight vehicle is a perpetual obstacle

Power modules provide high-efficiency conversion between 400V and 800V systems for electric vehicles

March 18, 2024
Porsche, Hyundai and GMC all are converting 400 – 800V today in very different ways. Learn more about how power modules stack up to these discrete designs.

Bidirectional power for EVs: The practical and creative opportunities using power modules

March 18, 2024
Bidirectional power modules enable vehicle-to-grid energy flow and other imaginative power opportunities. Learn more about Vicor power modules for EVs

Article: Tesla commits to 48V automotive electrics

March 18, 2024
48V is soon to be the new 12V according to Tesla. Size and weight reduction and enhanced power efficiency are a few of the benefits.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!