I'm currently diving into C++, but I've been hearing a lot about C and Rust lately, which makes me curious about the best path forward. Since discussions on this topic have popped up in the past, I figured I'd see if there are any fresh insights out there. I've heard that Rust is modern and has excellent safety features compared to C, although some people find Rust's syntax a bit off-putting and the compiler frustrating. On the other hand, I've been told C is straightforward to pick up but can be tricky to master. I'm also aware that C++ is often seen as an enhanced version of C, but it seems that C has its own unique advantages. ASM is another language I'm considering, but I'm unsure of its relevance to my goals; it looks complex, yet knowing it might be valuable. So, what do you think I should tackle first, and why? Also, if you have any tips on reading and understanding others' code, that would help me a lot!
3 Answers
Your choice really hinges on what you want to create. If C is your goal, that’s solid since it’s widely used. But I'd prioritize C++ after that for object-oriented programming capabilities. I think ASM is more niche unless you're looking into specific low-level applications. It's normal to feel lost reading other people's code—most new programmers do! It's all part of the journey. Just keep practicing and you'll get the hang of it.
For real. It took me ages to decipher just one section of a codebase when I started!
Assembly isn’t necessary for everyone and can be daunting. If your focus is on high-level applications, I'd say skip it for now. C or C++ are excellent choices since they give you a lot of flexibility for various types of projects. And when it comes to reading code, try breaking it down into smaller pieces to figure out what each part does. It takes practice, so don’t worry if it feels overwhelming at first!
Yup! You're not alone; it gets easier the more you practice.
Solid advice! Breaking things down will definitely help.
If you’re mainly interested in understanding the hardware and how programming interacts with it, I'd suggest starting with C—it’s straightforward, and mastering it will help you later with C++. C and C++ have a wealth of resources, and they're not going away anytime soon. Rust is gaining traction, but I think there's still too much hype around it compared to the classic options. Also, ASM is valuable, especially for embedded systems, but it's not necessary for everyone. You could always learn it later once you have a solid grasp of the other languages.
Totally agree! Learning C first will give you a solid foundation. Plus, transitioning to C++ will be a lot easier after that.
Yeah, and don’t beat yourself up about understanding other people's code right away. It takes time for everyone, even pros!
Right! Getting familiar with the context of the codebase takes time—just give it patience.