Rust is a system-level programming language designed to be memory and thread safe and to prevent segment errors. As a system-level programming language, its basic concept is “zero overhead abstraction.” Theoretically, its speed is on a par with C/C++. Rust can be classified as a general-purpose, multi-normal form, compiled programming language, similar to C/C++. Unlike these two programming languages, Rust is thread-safe! The goal of the Rust programming language is to create a secure and concurrent software system. It emphasizes security, concurrency, and memory control. Although Rust borrows from C/C++ syntax, it prevents null and dangled Pointers, which are the root causes of system crashes, memory leaks, and unsafe code in C/C++.
Just because Rust is a system-level programming language doesn’t mean that it can only write low-level programs (operating system, drivers, tools, databases, search engines, etc.), it’s completely impressive at its level of abstraction, and it’s proven to be as capable and easy to model problems as C++/Java/Python/Ruby. But ultra-abstract languages like Haskell aren’t where Rust is headed either. Rust strives to find a balance between abstraction and the real world.
When communicating with Peace, the head of SCRY project research and development, he said that there were two main reasons for choosing Rust at that time. First, many people used to choose C/C++ when they had high performance requirements. Now there is a Rust option, which also solves many deficiencies of C/C++. The second is that Rust has a mature reference for blockchain applications. Finally, Peace gave some suggestions to future learners using the open source part of SCRY project, “quick learning ability, happy to do small things well, correctly and reasonably define a function.”
Just how popular is Rust? Rust has now been named the # 1 Programmer’s Favorite Language on StackOverflow’s annual language poll for the fourth year in a row (2016, 2017, 2018, 2019). Here’s a screenshot of the 2019 survey:
But Rust is still young compared to Python, C, C++, and so on. According to the survey, more people are not learning about Rust because Rust does not have enough active commercial projects to make it part of the enterprise.
But Rust is also a growing presence at work. Rust has seen surprising growth in commercial applications over the past year. Here are some well-known companies:
- Amazon: Build with Rust
- Facebook: Source code control tool
- Google: As part of the Fuchsia project
- Microsoft: Use Rust in part in the new Azure IoT framework
- Twitter: Use Rust as part of build team support
China’s Baidu and Alibaba have also adopted Rust internally on a small scale.
Just earlier this month, Microsoft launched Rust/WinRT, a Rust-based Windows runtime project. Following in the line of C++/WinRT, this project uses standard languages and compilers to build language projections for the Windows runtime, making it easier for Rust developers to call Windows APIs and use Rust to build various Windows applications and components.
(https://blogs.windows.com/win)…
In late 2015, Dr. Gavin Wood founded Parity Technologies and launched the Ethereum client Parity, which was written using Rust. The MaidSafe project actually existed long before Parity existed. Maidsafe has tried many things with Rust. The security emphasis of the Rust language itself, and cutting-edge projects like MaidSafe, probably gave Gavin good reason to choose Rust as the Parity development language.
It is much easier to write an efficient, custom-compliant Rust program than a potentially dangerous one. Here are some bugs found in the Linux kernel between January and April 2018:
For Rust, the 51 percent on the right side of the image above could have been avoided at the language level. In other words, for Rust, there are no such problems as the one on the right of the image above.
Rust achieves memory security and concurrency security without sacrificing performance. Even better, it solves two very different problems, memory security and data competition, using the same set of abstractions.
Rust’s zero-overhead abstraction allows you to enjoy security without sacrificing performance. This is what traditional programmers dream of.
In an interview with Solana CEO Anatoly Yakovenko, he mentioned that at the beginning of the project, he spent two weeks using C, but when he used some external libraries, he had to write makefiles and download the libraries manually, which was a bit of a problem. So he decided to give Rust a try. At that moment, “Holy shit, this is amazing.” “I just woke up to the fact that this is a language that is as fast as C and gives me Haskell-like type safety. Rust hit me, which is really cool.”
Rust turns 5 years old today (May 15, 2020 marks the fifth anniversary of Rust’s official release). Rust language is rapidly evolving in all areas of the IT industry, and the blockchain space was one of the early adoptive areas of Rust due to the nature of the blockchain itself. In the blockchain space, Rust is dominating the market for emerging blockchain projects, and many well-known older projects are considering switching to Rust rewrites.
Happy 5th Anniversary to Rust!
Reference source:
1. Why Rust?
https://www.parity.io/why-rust/
2. Meetup with Solana, Zcash, & Parity — Why Rust Is Ideal For Blockchain Development?
https://medium.com/solana-lab…
3. Rust 2017 Survey Results
https://blog.rust-lang.org/20…
4. Microsoft open source Rust/WinRT for easy use of Rust to build Windows applications
https://www.oschina.net/news/…
5. Stack Overflow’s Developer Survey Results 2019
https://insights.stackoverflo… _-what-individual-person-will-have-the-most-influence-in-tech-this-year
6. When Blockchain meets Rust
https://rustcc.cn/article?id=…