I’m 20. Self-taught.<p>I’ve been through some hoops of python and JS, but nothing professional.<p>I want to make software. I know making awesome software will take time, and I’m working hard.<p>C comes to mind as the most adventurous, impactful solution for that.<p>What are your tips for becoming a better programmer in c?<p>I want to know what should I focus on early on? What are good practices? How to deep dive into contribute to open sorce?<p>Currently reading Modern C by Jens Gustedt.
This isn't really advice, but I just want to say I sympathize. I struggled quite a lot in learning C and C++ back in school. The thing that wound up helping most was to pick one or two projects that I actually wanted the results of (in my case, software to resurrect an old pen-plotter). That kept me going when other tasks like following along to "blink the LED on Arduino" tutorials just left me languishing.
That's easy. After learning the language, study good C code. Try to grok how the masters build higher-level abstractions.<p>Learn from widely used C code that is not a toy. Examples: sqlite.org, git-scm.org<p>If you don't understand something, look it up in the C standard doc.<p>Most of the time, you will want to program for speed, and C will let you. Learn and practice C profiling.<p>Also, you will need to learn defensive programming. The best source about this is "Learn C The Hard Way" by Zed Shaw: <a href="https://github.com/zedshaw/learn-c-the-hard-way-lectures">https://github.com/zedshaw/learn-c-the-hard-way-lectures</a>