Rust is a great programming language. It introduces academic concepts into the software development world that were reserved to very small niches of software engineering. It does it in such a way that is the most beloved programming language since years.
Rust makes your programs fast, safe and solid.
Rust makes it hard to break things.
Rust language brings an advances type system that makes the developer aware of errors, bugs and mistakes earlier than other programming languages. This translates into software developers being able to catch possible problems before releasing the program.
Rust forces the developer to build a model before programming. This modeling stage is like building a formula that needs to be satisfied. If the developers programs something different from the model, Rust won’t allow the developer to release that code.
This translates by Rust telling the developers where they did wrong assumptions, where they are missing something and where there are possible thinking mistakes.
There is something else very important too. Given a huge program build in Rust, it is easy to change things without introduce bugs and errors, as Rust won’t allow the developer to continue if the whole program is not “correct” and follows the defined model. The developers can be sure that what they program is compatible with other parts of the program. Other languages doesn’t have these checks, so changing already made programs can be very costly and time expensive. With Rust, you don’t have that cost, neither that worry.
It is easy to improve.
Following the previous point, improving code is much easier in Rust just because it forces you to be correct. You know that your new and improved code is compatible with the rest of the application and that it is doing what is supposed to do.
You can go under the hood when needed.
Many programming languages like, for example, python, rely on other programming languages for doing things fast or to solve complex programs. In the mentioned example, python, there is a lot of code made in the programming language C. This is a very hard to use programming language and doing safe software with it is very complicated. This is a problem if the software developer needs to do something that isn’t the normal thing. For example, when the program has special networking or hardware requirements.
As an example of what we mean: We had exactly this case. We have a customer that needed an extremely safe and solid code that needed to interact with Amazon’s QLDB Database. The problem here is that there isn’t public available connector for Rust and the programming languages with connectors aren’t as safe as Rust by a long way. Our solution? We created a database driver and its network and storage format.
This was an order of magnitude easier and faster if we have done it in other programming language. Actually, it was possible because we used Rust. In other programming languages, ensuring correctness and safety would have been so expensive that it wouldn’t have been impossible
Fast by default, performance is not a dark art anymore.
Rust is as potent and fast as C or C++. It was initially created for the same use cases as these 2, but it ended surpassing them both by a long way in safety at the same time that matching their speed. Just to be clear. C and C++ were the faster programming languages of them all. If you needed speed, C and C++ where the only options. Rust shares that trait with them. So, Rust programs are as fast as it gets.
This breaks the old dichotomy. Before Rust, you had safety or speed, but not both. Rust is safer than any other programming language and is as fast as the fastest.
There is another argument to be made here. Any program can, with enough effort to be made “safe” and “fast”. Not everyone has infinite money and time. Rust makes much easier to make fast, safe and more correct programs than other programming languages. That translates to better and much more inexpensive solutions compared to other programming languages. Less time on bugs, more time on features.
Your programs are much safer.
In other languages, it is very common to code the program and then catch many bugs later in a testing phase. These bugs, many of them security bugs which are, by nature, extremely hard to find, are found by customers complaining or directly by customers being hack. Rust makes impossible to introduce most of these bugs in first place and by its own nature, makes much harder to have unsafe programs delivered to the public.
Don’t believe us, believe Microsoft which is migrating to Rust now.
Change the programming language, solve 70% of bugs. That is why we choose Rust.
Note: This is a very high level overview of the language oriented for non-technical people. We will write another technical post for developers about why we choose Rust.