C Is Still Everywhere
toptal.com
toptal.com
A boilerplate project with testing, common libs for data structures, and pointers to useful resources like extra libs, would be really cool. :)
That said if I had to do something nowadays that I would use C for, I'd probably just pick up Rust.
I really am not sure if this is a joke or not, but almost every major library has a C interface. Almost all packages in your distro if you use linux have development versions that ship libraries that usually are linkable by C. In fact the wealth of libraries usable from C is usually noted as its main strength.
What exactly are you missing, and have you tried googling? The GNU organization and similar all produce libraries(like https://www.gnu.org/software/gsl/) that are mostly usable from C.
Anecdotally the types of libraries shippable with the OS represent a specific category of application which doesn't encompass many developers needs. (Although on the other side, github does not provide usable drivers for most operating systems... your mileage may very).
Further: https://github.com/oz123/awesome-c as another example of the many many C libraries you could find.
Many practical C projects seem to simply fork any dependencies they want to use and stick them in their own internal repo/build process.
Oh and it’s so poorly documented in practice that you have to cross reference it with codebases to see how the tooling is actually used in practice, then peel back all the weird quirks from those authors.
That’s the hard part.
Googling for a C library isn’t.
Anyone waiting for the death of C is delusional. It’s the best (often the only) tool for many jobs and will always underpin most of the world’s operating systems and low levels of user space. A few counter examples don’t invalidate this point.
C is unusual that it doesn't have a single 1:1 replacement, and few C projects are being directly rewritten in something else. Instead, C is getting sidelined, and not growing into new areas where the software is moving. Many other languages are now an obvious choice for things that used to be C's domain. I remember in the early 90s desktop apps were primarily in C (assembly and Pascal second), but nowadays apps can be written in a variety of languages, including scripting ones, or even entirely displaced by webapps. For early web services, if Perl was too slow, C was the second choice. Now C has been pushed to lower-level plumbing, and even that started being eroded by golang and Rust. Even games that used to be strictly C/C++ territory have moved to C++ engine + scripting (with the proportion of scripting growing). Unity games use C# (e.g. I was shocked that BeatSaber, a low-latency VR game, is in C#).
I've been similarly waiting for the demise of x86. x86 used to be the best/only option for a very long time, and is still having a momentum in desktops, but a whole new, larger mobile computing world has sprung without it.