What is shift-left ⬅️ programming?
Rust 🦀 is the ultimate shift-left programming language!
If Shift-left testing means that we introduce testing earlier in the life-cycle of software development then shift-left programming is using a programming language that will find you (potential) bugs 🐛🐛🐛🐛 earlier in the life-cycle of the development process.
The dynamic programming languages such as Python, Perl, Ruby, PHP, and of course JavaScript are very flexible, but it also means that we find out about a lot of issues only during run-time.
Compiled languages such as 🇨 C, C++, Java ☕, and Rust are much stricter. The code won't even compile if you don't define the types of your variables properly.
For example
🐪 Perl does not care much if a value is a number like 42 or if it is a string that looks like a number like "42".
🐍 Python already cares about this, but it will find out that you are trying to add a number to a string only during run-time.
🇨 ☕ C, C++, Java, and Rust won't even compile with code where we try to add a variable holding a number to a variable holding a string.
That is, we find out about our mistake sooner than later.
Rust takes this to the next level and prevents you from making all kinds of mistakes. Mistakes that in other compiled languages you'd only notice at 2 am when the system suddently stops working in a mission critical application.
No it won't protect you from all the mistakes. In particular it won't protect you from bugs 🐛🐛🐛 in you logic and algorithm. If you put a + sign somewhere where you should have but a - sign you will still get the wrong results, but Rust has moved the programming world more to the left.
😺 So if you are wondering what is the value of Rust then it is that you can write fast code (like C, C++) that is free from a lot of memory related-errors that you might encounter in C or C++.
It helps you find bugs 🐛🐛🐛 earlier in the development process, thus saving you time and money in the whole process.