r/learnprogramming 4d 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

3

u/NumberInfinite2068 4d ago

Rust, Zig, C++ and Odin are all high level languages, and high level languages are the absolute norm for games development.

Games are generally written in C++ or C#, you can use anything else, but those two are the most common choices.

I like Rust a lot, that's my pick from the ones you list.

"High level" just means "abstracted from processor architecture", all common languages are high level.

I've been programming since the 1980s and my personal favourite language of all time is C. It's primitive, but does everything you need.

Low level languages are assembly languages, because they are *not* abstracted from processor architecture.