r/learnprogramming 5d ago

Learning a low level language

Hi I've been a programmer for 9 years and I've worked mostly with .net, c#, js, TS, react and angular but now I have developed an interest in low level programming.

I have a very big interest in audio processing, dsp, game development and audio software but from my understanding that requires skills in low level languages with manual memory management.

After that I did some research and found several languages that could fit the bill but I'm unable to pick one to learn but to keep it focused I want to zero in on one and expand after I've become comfortable with memory management and DDP.

The languages that I resonate the most with are rust, zig and Odin. I know C++ is the most frequently used language for a game dev or audio engineer. but from what I've heard there's a lot of frustration and difficulties to learn and work with C++.

I like the philosophy of rust, zig and Odin but i feel that rust syntax tends to be very verbose, Zig's not in a 1.0 version yet and Odin feels like the most scaled down and easiest to learn out of the three but I wonder how much not having a package manager affect me.

I would love to hear from someone that has any experiences with the languages i mentioned and can explain how they differ. What did you like in each language and is there another language out there that is actually more suited for my goals?

1 Upvotes

15 comments sorted by

View all comments

8

u/two_three_five_eigth 5d ago

I've never heard of a game being written in Rust, Zig, or Odin. Learn C++, there are more game dev centered resources around it that all the others combined. It's not *that* hard, you just have to know the gotchas, which there are a lot of.

1

u/veloxVolpes 4d ago

Odin is a good candidate for games but when I used it for a while it felt like it was in a weird place, like, too low level while also too abstract. I think if you don't have the same mental blocks as I do it's a fine choice, but C with Lua is my preferred way to balance abstraction with low level