Hey everyone, I graduated from a tech school with a software development degree that focused on practical skills rather than theoretical ones. I've been working as a full stack developer for about eight years and spent the last two as a data engineer. I'm realizing that I missed out on learning a low-level programming language during my education, and I'd like to fill that gap. I'm considering languages like Rust, Zig, C, and C++, but I worry that I might still lack some fundamental theoretical knowledge. What resources and starting points do you recommend for someone in my situation?
5 Answers
Have you thought about making a Game Boy game using Assembly? There are actually flash carts available that let you play your game on a real device, which could be a fun project. Plus, there's a new book out about this topic that could guide you through the process!
Hmm this looks like a fun project idea. Thank you!
You should definitely read this MIT paper on programming. It goes beyond just languages and delves into the environment that surrounds programming, which is key for grasping the fundamentals of computer science.
Ooohh, I like this, thank you. This is a valuable resource I'll certainly read. I'd still like to solidify my learning with a language. I appreciate your input!
Consider diving into basic emulator development as your project. For example, try writing a NES emulator. It's a great way to learn the low-level concepts while you code. Playing around with microcontrollers is also a fantastic way to get hands-on experience, even if you start with a higher-level language.
Ah, that's funny. I was looking at using a raspberry pi or Arduino to do a light show project, and if an emulator is a good first step to that project, I just might try this. Thank you!
Remember, computer science isn't just about how low-level the language is. It's about concepts and problem-solving. Focus on understanding the principles, not just the lexicon of low-level languages.
I know, but I'm trying to figure what fundamentals I need to learn to master these languages.
Check out this website! It's got a lot of valuable exercises and solutions that could help you understand foundational concepts better. Once you go through that, a lot of things will start to make sense.

Thanks for the heads-up, just ordered a copy!