I then set up Go and got started. Fell in love with it, I was immediately 10x more productive then I was with rust. I also found reading other people's code far more easier as well, where rust would have all this (for me) difficult syntax.
I want to like rust, but I honestly don't think I am smart enough.
But to profit from this you have to reach a level where you are beyond fighting with the ownership model and with data types.
For small/quick scripting stuff I still go to python, because some problems can just be solved faster with it. I don't think there is anything wrong with that. It really depends on the scale of programs and the needed reliability IMO.
1) Low level programming 2) Typed programming
Both of which are difficult.
I would suggest learning one of Haskell or Scala and one of C or C++ first, and then trying Rust again.
You can absolutely get productive more quickly in other languages as a result. But to me, developers who take the time to get over that hurdle by and large become dramatically more productive in the long run, and that’s before you take into account the fact that their code will have near-optimal performance and be virtually bulletproof.
There’s a reason we’re regularly seeing best-in-class general purpose tools and libraries coming out of the Rust ecosystem.
From then on everything worked surprisingly easy.
The 3 main things that make Rust great (besides thenusual selling points) are IMO:
- the library manager/dependency managment is great
- Even if you are never gonna use Rust again, some of the lessons you have to learn when learning Rust are universally useful. Thinking about ownership and race conditions the Rust way will certainly help you tackle some parricularily hard issues with multithreaded code in other languages as well.
- The amount of things you can rake as a given within Rust code is very high. If it compiles it usually works. If it doesn't it gives helpful indications why. These indications help you to understand your code better.