reasons for still learning C
Talking about personal study goals with a friend of mine, I just found myself reasoning about my commitment to spend a lot of time w/ C this year. And in 2025, the age of Rust, Zig, Go & Odin,... the decades+ long push towards mobile & web, the recent push towards memory safety, I have to admit that even I found myself surprised about how solid learning C still is:
C is a raw and relatively small language (compared to C++ & Rust especially), with simple and strongly idiomatic code, that a mere mortal can hope to grasp. Now you can argue about UB and things like implicit conversions, the lack of namespaces and the questionable C preprocessor, but C code by and large looks and feels similar across many codebases. C can be learned far quicker than many other languages occupying the systems programming space; many languages are considered C-like, a lot of C's code style is part of many other language's syntax
C still has an extremely solid footing in HPC (high performance computing), considering projects like OpenMP. It's used on supercomputers w/ Intel and AMD even providing their own purpose built compilers. It is also often at the backend of many high performance data crunching routines people may call from Python, Julia and co (either because the libraries are local C libraries, or the Python code interacts with a compute cluster to begin w/)
C is portable, from embedded microcontrollers to desktops to large scale compute clusters
C has 1st-tier interoperability w/ almost any language. Many reasons, but among them is C's ubiquitousness, the performant compilers available for many platforms, and the simplicity parsing and implementing it. Many new languages even start their life being transpiled to C as an intermediate representation before compilation. A library written in C you may use from Zig, Odin, Go, Python, Julia,... and this use case is often well documented & supported
C is lending itself well to having many common computer science problems (data structures, algorithms) expressed in it, great for learning and study, and exposing the details of such problems
C has a history of decades of high quality teaching material from operating systems, to implementing compilers, parsers of all sorts, tooling, networking, microcontrollers, ...
C is a first-class citizen on Linux (or any BSD for that matter); it's the native way to interact w/ the kernel via system calls, a compiler comes pre-installed on all systems, including built-in documentation for the standard library, almost any standard Linux/BSD tool is written in it
All in all, looking forward to a (likely, hopefully) multiple decades long career in software engineering, I consider teaching myself solid C foundations still an incredibly valuable effort.