The case for Python is that I'm already very experienced in it (nearly 20 years), there's a good job market out there for it, and the ecosystem is one of the best in existence. It's like a comfortable well made jacket, maybe a tad worn in some areas but very functional. And it's not standing still, with a community that's committed to constant improvement.
Rust is more fun. I like the way it's been put together. It can also be used in more areas. There are some niches (wasm, low level, kernel) where Python just doesn't work. It has been able to benefit from the years of mistakes from Python and other languages on things like how it handles Unicode strings. I don't know it as well as Python, but I barely get a chance to work with it so that could change quickly in time.
Behold, Rust is blazingly fast in approaching the most popular language :)
Also, in comparison to Python you can do pretty much everything throughout the stack, which would be the reason I would go for Rust (not mentioning all the other niceties it has to offer).
Also learning Rust nowadays is much more approachable compared to say 7+ years back (ecosystem got way better)
All of this is very true! But it's has to stack up against the large amount of experience with Python, both personally and in the industry. I have had to make decisions on project languages with an eye towards the abilities not just of myself, but of other people on my team. Fortunately, someone who knows Rust recently transferred onto my team, so we may do a project in Rust soon.
True, Python has a very big userbase and a lot of cool libraries and is nice to quickly hack something together.
Though the title of the post is
If you had to choose one programming language that you had to use for the rest of your life, what would it be?
So TMU I want to predict the future in a way that it positively affects me, and find a language that fulfills this role best (throughout the stack, so that I'm not limited). And honestly I wouldn't want to touch Python with a long stick, if the project is moderately complex (and isn't easily off-loadable to native libraries that Python builds upon) and say > 5000 LOC, the super dynamic nature of python is a curse in this regard.
I would be torn between Python and Rust.
The case for Python is that I'm already very experienced in it (nearly 20 years), there's a good job market out there for it, and the ecosystem is one of the best in existence. It's like a comfortable well made jacket, maybe a tad worn in some areas but very functional. And it's not standing still, with a community that's committed to constant improvement.
Rust is more fun. I like the way it's been put together. It can also be used in more areas. There are some niches (wasm, low level, kernel) where Python just doesn't work. It has been able to benefit from the years of mistakes from Python and other languages on things like how it handles Unicode strings. I don't know it as well as Python, but I barely get a chance to work with it so that could change quickly in time.
Behold, Rust is blazingly fast in approaching the most popular language :)
Also, in comparison to Python you can do pretty much everything throughout the stack, which would be the reason I would go for Rust (not mentioning all the other niceties it has to offer).
Also learning Rust nowadays is much more approachable compared to say 7+ years back (ecosystem got way better)
All of this is very true! But it's has to stack up against the large amount of experience with Python, both personally and in the industry. I have had to make decisions on project languages with an eye towards the abilities not just of myself, but of other people on my team. Fortunately, someone who knows Rust recently transferred onto my team, so we may do a project in Rust soon.
True, Python has a very big userbase and a lot of cool libraries and is nice to quickly hack something together.
Though the title of the post is
So TMU I want to predict the future in a way that it positively affects me, and find a language that fulfills this role best (throughout the stack, so that I'm not limited). And honestly I wouldn't want to touch Python with a long stick, if the project is moderately complex (and isn't easily off-loadable to native libraries that Python builds upon) and say > 5000 LOC, the super dynamic nature of python is a curse in this regard.