Return to Level1Techs.com

How best to brush up on C?


#1

I’m not one to really like going through stuff like Coding Game or teaching sites. I like to take projects that have a buglist and go through that and try to fix stuff. Its how I learned a lot of C before doing C# stuff in college, which both fixed and broke some stuff.

So, whats the best way to go about a brush up? Been thinking about it for a few months, and doing code work for projects online is my passtime when I’m not doing stuff around the farm or playing TF2. I haven’t done much C for a few years now, only finishing a project with a friend a while ago that wasn’t anything special. I’m open to suggestions though, or small project ideas to get juices flowing again.


#2

I realize this is an older post, but this is a very cool idea from Fedora for volunteering and they have some very interesting projects in C that will at least help you find something interesting to work on.

https://whatcanidoforfedora.org/en#coding


#3

I’m kind of brushing up on c++ right now, not really c, but I found an older piece of code close to a thing I’m working on that not really maintained well and I kind of adopted it and started updating it. In my case it means fixing a bunch of misuses of time_t, removing destructors in favor of a more RAII approach with shared_ptr and unique_ptr, cleaning up some callback stuff and old threading API uses and replacing it with functional stuff and so on.

Basically it allows me to get my environment all set up and get whatever are the most useful primitives I’ll need back into my fingertips after ~10years of using other languages and only occasionally reaching into c++ to read it as a reference.

Perhaps you can do something similar with C, just start cleaning up and modernizing until you’re more comfortable with it?


#4

Actually I found something! Porting packages to powerpc linux. Starting with llvm, clang, and associated libraries, then making firefox and zsnes, and maybe packaging them and slapping the ubuntu mate devs with them lol.