10 Things I like about rust
C/C++ | python | Rust | |
---|---|---|---|
Year of inception | 1972 | 1991 | 2015 |
Compiled | Yes | No | yes. Comes with a heavy compiler |
in-built package manager | No | Yes | Yes. Comes with language installation |
Dependancy management | No | Third Party | Yes. comes with language installation |
Memory management | Self | garbase collectin | ownership model |
Browser support | No | No | Yes. via webassembly |
Documentation | online | online | offline via local server. Comes with pre-installed with the language |
Concurrency model | Thread, mutex | threads | Actor Model, async/await, Shared State, message parsing |
In my short programming career of 10 years, I have primarily used two programming languages: C languages and Python. And, both of them were created before I was born. Both were also created before
- Internet was mainstream and used it to share their code
- Develop used each other’s code liberally.
- Linux was born.
- Hackers exploited language vulnerabilities to hack the systems
- Multi-core processors were used in PC and servers
- Any of the web languages(HTML, CSS, JS) was created.
There comes a new language which understands the main drawbacks of languages created before it and bakes all the best practices right with the languages installation. When you install the rust languages, It installs
- The rust compiler with very helpful messages. Also provides the solution to the problem encountered.
- Cargo: build tool. dependency and package manager
- Documentation and documentation server
- Strong type system which can be leveraged to do error checking for you.
Why Rust has a great future ?
In a recent post , NSA recommended to use a memory-safe language like Rust instead of unsafe languages like C/C++. All cloud providers are actively pushing adoption of Rust internally.Rust has everyone aligned
- Governments want to use it because it provides more safety of our key infrastructure from hackers.
- Big tech wants to use it to reduce their operating cost of their data centres
- Devops engineers wants to use it because it is easier to maintain and scale