Hello folks,
As some of you already know me, I’ve been on the long run with java. Early this year, I saw the vibes on the Rust programming language, and gave myself some time learning it to try to judge it from my (critical ?) point of view. Guys, from the beginning there was something that felt good with it. I felt like learning programming again from the ground up.
I know the “it’s yet just another language” arguments. But for me it clearly isn’t another one, it is more than traditional paradigms that we learnt to program in like java python or javascript. Rust adds new mechanisms that programmers have to understand to use the language. I am not getting you an introduction to them here, you can find many of them online. This could be problematic for the adoption of the language given the learning curve could be wider, but It mostly worth it, and we see it is success everywhere we go. From the big tech (ie Microsoft) of big software (ie Linux kernel !)
Another thins with this language is that it sounds like fixes the problem of all other programming languages (and even some frameworks) in one place. For example,
- Exception throw concept => Error handling by Enum return type
- Mutability => anything immutable by default (even for mutable variable, the compiler will check the good use for it)
- Complex concurrency handling => fearless concurrency with the borrow checker
- Manual memory management is HARD => automatic memory management (GC like)
- Languages with GC are slow => No GC, the compiler is the memory checker !
- OOP => structs & traits
The list is long, but it’s definitely worth trying to learn these concepts, even if you don’t like Rust or you do not plan to use it.
For me, after learning Rust, I started to see why Java is the way it is, and having experience in using it, I can even imagine what would fix it !
Back to my story, I started interviewing on posts with rust experience, and with my simple self-taught knowledge, I succeeded to convince my next employer that I can do the job. And this is fantastic! I can now explore this field and learn new things from it, after all continuous learning is the main goal!
PS: I do not think that Java is garbage, I still believe this language has great potential but I want to master another thing.