Having a modern language that attempts to directly model low level systems is very important.
I concur with the suggestion of 2^19, because even though fewer people would recognize it immediately, many of them would question the significance, and it the eventual realization would be more satisfying.
morkalork•43m ago
letmetweakit•27m ago
mutkach•26m ago
- Do you like filling out the type annotations in Python (making sure linter check passes)? Do you like TYPES in general?
- Do you like working with memory (crushing memory bugs, solving leaks)?
- Do you prefer imperative or functional approach more?
morkalork•13m ago
I do like working with memory, seeing a custom slab allocator used in production code was one of the more interesting aspects of little experience I had with c++ but always having to "on guard" to not shoot myself in the foot with pointer manipulation was kind of exhausting.
I like both.
simonw•23m ago
Hacker News discussion: https://news.ycombinator.com/item?id=46153466
grayhatter•21m ago
For hobby projects, zig will get you *much* closer to the underlying system. So if your goal is systems programming where you're responsible for and get to play with the system itself. Zig will get you there much faster, and the language wont take much time to learn and have fun with.
Surely someone will now attempt to correct me, by asserting it's impossible for anyone to write safe code without rust, and it's improper for me to even suggest Zig. But I'm enjoying the language a lot. It's easy to pick up and understand, and importantly it gets out of your way quickly so you can build exactly the system you want.
For more complex or professional projects however, I would still recommend Zig but more because I can't stand rust. It bothers me that it rejects valid programs because the compiler is unable to prove what I can. So the additional dance rust requires ruins an otherwise fine language.
edit: my default language before zig was also python, so feels reasonable to also mention that I'm pretty sure it'll be significantly easier to transition from python into Zig rather than into rust. There's a number of idioms and expectations from python that fit well in zig, but dont fit in rust.
matklad•14m ago
If you don't have time to learn both, then learn Zig, as it requires much smaller time investment (though do try to find time for both).
the__alchemist•13m ago
Note that there are a number of domains where Zig might be a practical option in the future, but aren't now due to library support. With Rust, you will reinvent wheels more than most people have an appetite for. In Zig, you will do this for most things.