I have always had a great deal of respect for C, and I would like to start writing in it. However, while I am skilled in other languages, I basically don’t know any C off the top of my head.
I find that I learn better and faster by attempting projects, rather than working through a book ir taking a class. For example, to learn Perl, I am working on a basic disk image writer that’s coming along nicely.
So, what do you think might be a good idea for my first C project?
EDIT: Zig is also something I’m interested in learning. Same question, different language.


As someone whose first “real” programming language was C, I recommend against writing anything new in C.
There are plenty of C projects you could consider contributing to as a way to learn the language (and if you want a long and prosperous career, knowing C can only help you) but language design has come a long way since the 70s and something like Golang or Zig or Rust would get you many of the advantages of C with many fewer pitfalls.
Zig, then.
I’m totally with you on this.
C is a fantastic language for people who want to develop for existing C projects. But there are very few reasons to develop new software projects in C today. As such, for anyone learning C, the best first project would probably be whatever existing C project you want to work on.
Maybe the main exception to that is probably embedded systems stuff for microcontrollers and the like, but I don’t know enough about that space to say whether that is even still the case or whether you’d be better off with something else.