Article Complete

Should we call Rust a Failed Programming Language?

Rust has been ranked as the most liked language by its users for two years in surveys but programmers say otherwise

Should we call Rust a Failed Programming Language?

Key takeaways

  • Rust has been highly rated by users but faces criticism from some programmers regarding its complexity.
  • The introduction of Carbon, a potential successor to C++, has sparked discussions about Rust's position in programming.
  • Rust is praised for its performance and safety features but is noted for its steep learning curve.
  • The language has a dedicated community known as 'Rustaceans' who contribute to its ongoing development.
  • Despite its popularity, there are concerns about Rust not achieving the same level of adoption as other languages like C++.

Takeaways drafted with AI from the article text.

Google engineers recently introduced ‘Carbon’, an open source programming language hailed as the possible successor of C++. With the new 'experimental' language being the talk of the internet, conversations around why ‘Rust’ didn't become the official successor of C++ have also surfaced.

With its own community of people called ‘Rustaceans’ who use, contribute and are interested in the development of the language, Rust is a statically-typed programming language for performance and safety, especially safe concurrency and memory management. Its syntax is similar to that of C++. The open-source project was originally developed at Mozilla Research. In 2021, the Rust Foundation took the torch and drove the development of the language.

https://www.youtube.com/watch?v=nxM9kXc2PnM

In his presentation at CPP North, Google engineer Chandler Carruth advised those using ‘Rust’ to continue using it. Carbon is for developers with large codebases in C++, which are difficult to convert into Rust. Carbon is specifically what Carruth called a ‘successor language’, built atop an already existing ecosystem, C++ in this case.

According to a StackOverflow survey, Rust is considered to be one of the fastest-growing programming languages and has been ranked as the most liked language by its users. But, programmers say otherwise.

A good language should be safe, fast and easy to program. But is Rust?

Rust is difficult. It has a complex syntax and a steep learning curve. It is designed to uniquely solve some very challenging problems in programming. However, as a beginner, using Cuda or MPI on Rust is not very simple compared to the other options like Swift and Go. Moreover, it is slow. Rust is a snail compared to other languages. Even for small projects, the compile times are painfully long, and runtime measurements show that Rust is less efficient than the C programs.
Imagine rewriting C libraries that have had decades of scrutiny applied only to introduce new bugs. Bugs in code are programmers’ nightmare. While it does save developers from some mistakes, it does not stop them from unintentionally writing bugs. Another issue are the constant warnings appearing over parentheses, especially over if statements and while loops. 

Rust is therefore a lot more complicated and inefficient and may soon be superseded by said tooling.

Not so unpopular after all? 

Even though first-hand experiences tell a different story, most big techs are already using Rust, while others plan to do so. Recently, Rust joined Meta's panel of officially supported server-side programming languages. The list previously included C++, Hack and Python.

“There’s a rapidly increasing Rust footprint in our products and services, and we're committing to Rust long-term and welcome early adopters”, says Eric Garcia, a Meta software engineering manager. 

Facebook has also strengthened ties with Rust by joining the Rust Foundation, an organisation established in 2021 to make Rust “a mainstream language of choice for systems programming and beyond”.

In 2020, Linux kernel developers proposed rewriting new Linux kernel code in Rust. The idea was to add new code in Rust to the originally written Kernel in C. However, this idea is still in the development stage, described as experimental.

In the future, Rust could become a top favourite language for the Internet of Things (IoT) devices with tiny processors and little RAM but need a high level of security. Moreover, considering its relationship with big techs, it would probably become a favourite language for internet companies that need to offer web services to millions of users.

Published

Corrections: AIM corrects errors of fact and notes the change on the story. Spotted one? Tell the editors. Read our editorial standards.