I've picked up some basics in Assembly for ARM, and I have a bit of experience with Luau and Lua. Programming is more of a hobby for me right now, and I'm unsure of the direction I want to take. A friend recommended that I start learning C, saying it will help me understand how machines work. I'm curious about whether diving into C is a good idea, especially since I don't have a specific goal in mind. What can I actually do with C? I'm also not interested in learning Python because I find it boring.
5 Answers
C can definitely teach you a lot, but if you're really interested in understanding how hardware works, assembler might be more beneficial. C is easier to start with, and it could lead you to more complex programming later on. You might want to try combining your knowledge of ARM assembly with C to really see how they interact.
If you're leaning towards lower-level programming, C or C++ would be great options. Just be aware, while C might help you understand the fundamentals, it won't teach you as much about modern computing compared to higher-level languages. Those languages can often abstract away the complexities but help you get projects up and running much faster. If you're just dabbling for fun, consider what kind of projects excite you most.
C is definitely a powerful language and learning it offers great insights into how computers operate today. Remember, though, that if you're not very serious about programming, a higher-level language might be more enjoyable. C requires more detailed attention to memory management and error handling, which can be frustrating at first. Just something to think about!
I'd suggest focusing on projects first, and then choose a language. C is great, but don't feel you have to stick to it if you find something else that piques your interest more. Just dive in and see where it takes you!
Absolutely, learning C is a solid choice! It's widely used for everything from microcontrollers to high-performance servers and even game development. While it might help to have a specific goal in mind, you can definitely start with the basics and find your path as you go along. Just make sure you start working on projects to see what interests you!

Thanks for the input! I’m planning to check out the first chapter of a C book to see if I can get into it. I heard some comments about assembly being better for understanding, though. What’s your take on that?