is Rust's philosophy what I've been looking for ?
Greetings,
I started programming pretty intensively about a year and a half ago. I come mostly from data analysis, so I naturally started with Python / SQL. Which has been great for the first self-built stuff I pushed to production. Users loved what I built, I was enjoying my new full time programming job, etc. (Note that i don't have any CS degree, i'm not gifted, i'm mostly very dedicated / hardworking.)
Then I started to meet "Python inherent problems" in terms of:
- Space and time complexity
- Really too many lib dependencies
- Too much "magic" or "abstraction"
When I talk about abstraction, I mean deeply nested OOP hierarchies where every method call goes through 5 layers of indirection you can't easily trace. I don't mind explicit contracts (I actually love strong typing and schemas), what I dislike is implicit magic: dependency injection containers, hidden decorators, frameworks where you have to "just know" how things wire together. I prefer sequential, traceable code: data pipelines where you can follow the flow from top to bottom. I don't mind complex steps as long as what they do is written in the code.
I never wrote a single line of Rust, but I think I'm starting to understand its philosophy by using Polars (sweet lord I love pl.LazyFrame).
I don't mind complexity, I'd just like to spend time learning something that I'd still be using in the long run. Instead of learning abstract stuff built in a library or a framework that I'll be using in one or two projects and then just forget.
I don't have any "Rust" friends, most of my contacts in programming come from Java / PHP Symfony.
On paper, Rust sounds like a very promising language to learn and master that combines with my natural need of understanding what's under the hood. But maybe i'm writing fantasy in my own mind, so i'd love to know if you understand my needs and if Rust could help me 😄
Thanks