Seeking advice, and suggestions. I’m a senior swe with 4+ years of experience, (java, C++, Rust). I’m looking to transition away from web dev and towards systems and embedded work. As part of this i’m trying to put a big emphasis on learning C, for the many obvious reasons (everything is built on it, it’s still very commonly used, it’s still very employable, etc.)
However I am struggling to get up and running with C, given that most educational content is geared towards beginners. I struggle to focus on simple things such as control flow, arithmetic operators, function definitions, as these kinds of things are pretty standard across languages (basically, i don’t need to start with syntax 101).
In addition, having some C++ and A lot of professional Rust experience means i…
Seeking advice, and suggestions. I’m a senior swe with 4+ years of experience, (java, C++, Rust). I’m looking to transition away from web dev and towards systems and embedded work. As part of this i’m trying to put a big emphasis on learning C, for the many obvious reasons (everything is built on it, it’s still very commonly used, it’s still very employable, etc.)
However I am struggling to get up and running with C, given that most educational content is geared towards beginners. I struggle to focus on simple things such as control flow, arithmetic operators, function definitions, as these kinds of things are pretty standard across languages (basically, i don’t need to start with syntax 101).
In addition, having some C++ and A lot of professional Rust experience means i’m more familiar than a beginner when it comes to low level concerns such as how pointers work, memory management, etc. (Not an expert by any means)
I am eager to race ahead and start working on some more complex things in C, like networking or some embedded systems, but I want to make sure that I understand the fundamentals of working in C, and it’s particular intricacies (working with malloc, the functional paradigm, for example), so that i don’t pick up bad habits, or bounce off of problems that are more complex than i would expect given my experience.
My current solution is to try and implement common data structures as well as unit tests, to try and gain a better understanding, but again this causes issues when there may be obvious language features i’m missing, or commonplace conventions I’ve not seen before. Basically i don’t know what i don’t know!
I would greatly appreciate any suggestions of books, courses, exercises, or any resources that would help, and thank you for your time/wisdom.