Hey everyone! I've been tinkering with Lua and Unity for a while now, and I've got a solid grip on the basics like functions, loops, and various programming paradigms like OOP and functional programming. However, I'm feeling a bit stuck and unsure of where to go next. I'm considering whether to dive into C or C++—I know that C++ includes more features than C, but I'm not exactly clear on what those features are.
I have a keen interest in understanding how computers operate at a deeper level, and I'm eager to expand my knowledge in this area. I'm thinking about pursuing a computer science degree soon and want to get a head start. I'd love some advice on which language to focus on next. Also, what kind of projects could I work on to really solidify my learning? I'm looking for project ideas that prioritize learning over practicality.
If you have recommendations for books that could help me on my journey, I'd really appreciate that too! I love having physical books around as motivation and would also welcome any online resources for guidance. Thanks a lot!
3 Answers
Honestly, I think you can choose either language. At this point, it's more about what you want to achieve. If computer architecture excites you, C is a great choice to understand low-level programming. C++ adds more complexity with its object-oriented features and templates, but it can be more useful for building larger applications. So, it really depends on your interests!
For projects, I suggest finding something in your everyday life or interests that could use a program. Pick something that can involve around 15 classes—this way you can challenge yourself without it being overwhelming. As for learning resources, design patterns are a fantastic area to delve into, as they are foundational for building scalable software. Good luck!
If you're eager to get into the nitty-gritty of how computers function, I'd lean towards starting with C. It's a low-level language that will give you great insight into how memory management works and other essential concepts. Plus, once you get C down, transitioning to C++ will feel a lot smoother. By the way, check out Ben Eater's YouTube channel; it's a goldmine for understanding hardware!
Ben Eater's channel is super helpful! Really helps connect the dots on hardware concepts.

I agree! Both have their merits, but C is fantastic for getting right into how everything works beneath the surface.