Rust language puts ease ahead of features for 2017

Upcoming improvements will focus on easier use, better tooling, and improved integration with other languages

The Mozilla-sponsored Rust language would become more approachable and productive next year, based on a road map published for the platform.

The focus for the upcoming year is improving productivity while retaining an emphasis on fast, reliable code, the road map states. High-level goals include a lower learning curve, a "pleasant" edit-compile-debug cycle, and a solid, but basic, IDE experience. Rust also should provide easy access to high-quality crates, or packages, and be well-equipped for writing robust, high-scale servers.

Current and potential users mention the learning curve, a lack of libraries and IDEs, and general "maturity" concerns as obstacles to Rust's success. Despite these obstacles, people remain generally happy with Rust, the GitHub post said. "Instead, the connecting theme is productivity -- how quickly can I start writing real code? Bring up a team? Prototype and iterate? Debug my code? And so on."

To lower the learning curve, the team is looking at improvements to docs, error reporting, language features, IDEs, and other tooling. Other goals include easy integration into large build systems and C++ code, and having 1.0-level crates for essential tasks.

Language integration will be a particular point of emphasis, according to the post. "Rust's current support for interfacing with C is fairly strong, but wrapping a C library still involves tedious work mirroring declarations and writing C shims or other glue code. Moreover, many projects that are ripe for Rust integration are currently using C++, and interfacing with those effectively requires maintaining an alternative C wrapper for the C++ APIs." The Rust team would also like to boost integration with higher-level languages like Java, JavaScript, Ruby, Python, and C#. "Lack of integration in general can be a blocker for Rust adoption in a given context and so work on any of these fronts has the potential to increase adoption."

The team decided its 2017 goals based on a 2016 survey, outreach, direct conversations with individual Rust users, and an internals thread. "The core team has tended to view our strategy not in terms of particular features or aesthetic goals but instead in terms of making Rust successful while staying true to its core values," the GitHub posting states.

Making Rust successful means it's being used in production and users are reaping benefits, the post adds. "Production use matters for the obvious reason: it grows the set of stakeholders with potential to invest in the language and ecosystem. To deliver on that potential, Rust needs to be part of the backbone of some major products.... Rust takes a unique stance on a number of trade-offs, which we believe to position it well for writing fast and reliable software. The real test of those beliefs is people using Rust to build large, production systems, on which they're betting time and money."

There would be no Rust 2.0 next year, based on the goals specified. "In particular, no changes to the language or std that could be perceived as 'major breaking changes'. We need to be doing everything we can to foster maturity in Rust, both in reality and in perception, and ongoing stability is an important part of that story," the post said.

Copyright © 2016 IDG Communications, Inc.