Developers
August 10, 2020

The Rust Programming Language: Its History and Why It Matters

One of the newer programming languages, Rust is an important addition that has an exciting future.

The Rust programming language first debuted in 2010. Despite its relative youth, however, the language has quickly gained in popularity, offering a combination of performance and features that make it an appealing alternative to traditional options.

Rust’s History

Rust began as a side project of Graydon Hoare, an employee at Mozilla. In short order, Mozilla saw the potential of the new language and began sponsoring it, before revealing it to the world in 2010.

One possible source of the name, according to Hoare, is the rust fungus. This has caused Rust programmers to adopt “Rustaceans” as their moniker of choice.

Despite its relative youth, Rust has steadily risen in the ranks of popular programming languages. In fact, while it ranked 33 in July 2019, by July 2020 it had risen to the 18th spot on the TIOBE Programming Community Index. Similarly, according to Stack Overflow Developer Survey, Rust has been the “most loved” language since 2016.

Rust’s Features

From the beginning, Rust has focused on safety and performance. One of the primary ways it achieves this is by emphasizing safe concurrency. Concurrent computing allows different parts of a program to be executed out of order. This opens up the possibility of parallel computing, where multiple tasks can be accomplished concurrently, rather than consecutively. This, in turn, can significantly improve the performance of an application. Since Rust was designed around this principle, it has some significant advantages in the realm of performance.

In terms of syntax, Rust is similar to C and C++, incorporating many of the keywords and commands from both languages. It is not a direct clone, however, and has some elements not found in either C or C++.

Rust does not have automatic garbage collection, nor does it use Automatic Reference Counting like Swift. Instead, it is designed to be memory safe by using principles of ownership and borrowing, as well as discouraging undefined behavior. Because it does not use garbage collection, this makes Rust an ideal option for integration with C.

Many of these advantages were touted in the initial blog announcing the Rust 1.0 release:

“Today we are very proud to announce the 1.0 release of Rust, a new programming language aiming to make it easier to build reliable, efficient systems. Rust combines low-level control over performance with high-level convenience and safety guarantees. Better yet, it achieves these goals without requiring a garbage collector or runtime, making it possible to use Rust libraries as a "drop-in replacement" for C. If you'd like to experiment with Rust, the "Getting Started" section of the Rust book is your best bet (if you prefer to use an e-reader, Pascal Hertleif maintains unofficial e-book versions as well).

“What makes Rust different from other languages is its type system, which represents a refinement and codification of "best practices" that have been hammered out by generations of C and C++ programmers. As such, Rust has something to offer for both experienced systems programmers and newcomers alike: experienced programmers will find they save time they would have spent debugging, whereas newcomers can write low-level code without worrying about minor mistakes leading to mysterious crashes.”

These features have helped Rust make its way into some of the biggest companies in tech, including Firefox, Cloudflare, Dropbox, Yelp and others.

The Future of Rust Programming

While Rust is relatively new, it has obviously gained a strong following. In relation to the languages it is compared against, especially C and C++, Rust is easier to learn and safer to use for new programmers.

As a result, many programmers see it as a serious alternative to C and C++ in the realms where those languages have reigned supreme. In fact, Dave Herman, Co-founder of Mozilla Research, laid out some of those benefits in a blog post:

“What makes Rust stand out from all other languages is its marriage of low-level control with uncompromising safety. And what we’ve discovered from using Rust at scale is that this combination has incredible enabling effects, empowering new programmers to dive down into the lowest levels of programming, and emboldening seasoned systems programmers to aim higher.”

Will Rust replace C and C++? It is highly unlikely, if nothing else because of the vast amount of existing code already written in those venerable languages. At the same time, however, many programmers acknowledge that Rust has serious advantages to both, bringing modern concepts, performance and safety to the same low-level approach that C and C++ are known for.

As a result, it’s safe to say that Rust has a very bright future ahead of it. Any programmer, whether new or experienced, would do well to add Rust programming to their repertoire.

TagsRustProgramming LanguageCC++
Matt Milano
Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles

Back
DevelopersAugust 10, 2020
The Rust Programming Language: Its History and Why It Matters
One of the newer programming languages, Rust is an important addition that has an exciting future.

The Rust programming language first debuted in 2010. Despite its relative youth, however, the language has quickly gained in popularity, offering a combination of performance and features that make it an appealing alternative to traditional options.

Rust’s History

Rust began as a side project of Graydon Hoare, an employee at Mozilla. In short order, Mozilla saw the potential of the new language and began sponsoring it, before revealing it to the world in 2010.

One possible source of the name, according to Hoare, is the rust fungus. This has caused Rust programmers to adopt “Rustaceans” as their moniker of choice.

Despite its relative youth, Rust has steadily risen in the ranks of popular programming languages. In fact, while it ranked 33 in July 2019, by July 2020 it had risen to the 18th spot on the TIOBE Programming Community Index. Similarly, according to Stack Overflow Developer Survey, Rust has been the “most loved” language since 2016.

Rust’s Features

From the beginning, Rust has focused on safety and performance. One of the primary ways it achieves this is by emphasizing safe concurrency. Concurrent computing allows different parts of a program to be executed out of order. This opens up the possibility of parallel computing, where multiple tasks can be accomplished concurrently, rather than consecutively. This, in turn, can significantly improve the performance of an application. Since Rust was designed around this principle, it has some significant advantages in the realm of performance.

In terms of syntax, Rust is similar to C and C++, incorporating many of the keywords and commands from both languages. It is not a direct clone, however, and has some elements not found in either C or C++.

Rust does not have automatic garbage collection, nor does it use Automatic Reference Counting like Swift. Instead, it is designed to be memory safe by using principles of ownership and borrowing, as well as discouraging undefined behavior. Because it does not use garbage collection, this makes Rust an ideal option for integration with C.

Many of these advantages were touted in the initial blog announcing the Rust 1.0 release:

“Today we are very proud to announce the 1.0 release of Rust, a new programming language aiming to make it easier to build reliable, efficient systems. Rust combines low-level control over performance with high-level convenience and safety guarantees. Better yet, it achieves these goals without requiring a garbage collector or runtime, making it possible to use Rust libraries as a "drop-in replacement" for C. If you'd like to experiment with Rust, the "Getting Started" section of the Rust book is your best bet (if you prefer to use an e-reader, Pascal Hertleif maintains unofficial e-book versions as well).

“What makes Rust different from other languages is its type system, which represents a refinement and codification of "best practices" that have been hammered out by generations of C and C++ programmers. As such, Rust has something to offer for both experienced systems programmers and newcomers alike: experienced programmers will find they save time they would have spent debugging, whereas newcomers can write low-level code without worrying about minor mistakes leading to mysterious crashes.”

These features have helped Rust make its way into some of the biggest companies in tech, including Firefox, Cloudflare, Dropbox, Yelp and others.

The Future of Rust Programming

While Rust is relatively new, it has obviously gained a strong following. In relation to the languages it is compared against, especially C and C++, Rust is easier to learn and safer to use for new programmers.

As a result, many programmers see it as a serious alternative to C and C++ in the realms where those languages have reigned supreme. In fact, Dave Herman, Co-founder of Mozilla Research, laid out some of those benefits in a blog post:

“What makes Rust stand out from all other languages is its marriage of low-level control with uncompromising safety. And what we’ve discovered from using Rust at scale is that this combination has incredible enabling effects, empowering new programmers to dive down into the lowest levels of programming, and emboldening seasoned systems programmers to aim higher.”

Will Rust replace C and C++? It is highly unlikely, if nothing else because of the vast amount of existing code already written in those venerable languages. At the same time, however, many programmers acknowledge that Rust has serious advantages to both, bringing modern concepts, performance and safety to the same low-level approach that C and C++ are known for.

As a result, it’s safe to say that Rust has a very bright future ahead of it. Any programmer, whether new or experienced, would do well to add Rust programming to their repertoire.

Rust
Programming Language
C
C++
About the author
Matt Milano -Technical Writer
Matt is a tech journalist and writer with a background in web and software development.