Thread: Instructive Open Source Projects for an Intermediate Level C Programmer?

  1. #1
    Registered User
    Join Date
    May 2012
    Posts
    8

    Instructive Open Source Projects for an Intermediate Level C Programmer?

    What open source projects e.g. on Github or as part of a Linux distro are particularly instructive or useful for an intermediate level C programmer? I am attracted to the command line and find visual programming boring.

    It would have to be reasonably compact, well documented with well commented code, with enough unfinished portions for me to ultimately contribute to after I become comfortable with the code.

    I am thinking of something along the lines of a simple UNIX shell, a UNIX utility or a CLI strategy game. The code base has to be reasonably compact (a few hundred lines to a couple of thousand) rather than the massive size of many current Linux projects. Again well designed, well commented code would be nice, possibly created for it's educational benefit as opposed to absolute efficiency.

    Thanks.

  2. #2
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    > well documented with well commented code, with enough unfinished portions for me to ultimately contribute
    Those might seem like fairly mutually exclusive statements.

    Try this
    Download Free Linux Open Source Software - SourceForge
    Click on the advanced icon, and reveal this
    Instructive Open Source Projects for an Intermediate Level C Programmer?-screenshot-2012-10-27-15-46-57-png
    Anything in levels 2,3,4 should have plenty of work still to do.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  3. #3
    Ticked and off
    Join Date
    Oct 2011
    Location
    La-la land
    Posts
    1,728
    Quote Originally Posted by haziz View Post
    What open source projects e.g. on Github or as part of a Linux distro are particularly instructive or useful for an intermediate level C programmer? I am attracted to the command line and find visual programming boring.
    Personally, I'd try to split my time between learning, and contributing (or trying to find an interesting project to contribute to).

    GNU Coreutils provide the core command-line utilities on Linux distros; their source code is certainly instructive. I'd say start by reading the code, then adding (frivolous) new command-line options and their implementations, for learning purposes. For example, the source for the env command is just 159 lines, and the source for base64 is just 321 lines.

    The Coreutils has reasonably straightforward source code (compared to e.g. PHP, which is simply atrocious), aside from certain shall we say "archaic" coding style details , and it is quite stable and readable, so it is best suited for educating yourself. Honing your skills first makes it easier for you to contribute to an interesting project, like those Salem mentioned. (However, who says you couldn't find a bug and contribute a fix in Coreutils anyway? It is perfectly possible, just not that likely, with something as stable as coreutils.)

    Aside from projects listed at Sourceforge like Salem mentioned, you might also look into plugins for desktop or server applications. They usually have very little GUI-related stuff, if any, and tend to have much less code, as the common code is already written in the main application. Perhaps contributing to an Apache module would interest you?

    Before specializing on anything in particular, try to get a wide basis. I've found diverse background knowledge extremely valuable in my own work.
    Last edited by Nominal Animal; 10-27-2012 at 11:32 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Open Source Beginner Projects
    By jingles in forum C# Programming
    Replies: 1
    Last Post: 04-12-2012, 10:00 AM
  2. Open Source projects in C
    By suryak in forum C Programming
    Replies: 5
    Last Post: 09-28-2011, 06:33 AM
  3. gigantic open source projects, seems unmanageable ?
    By rodrigorules in forum C Programming
    Replies: 3
    Last Post: 06-07-2010, 06:35 PM
  4. Two New C++ Open Source Projects
    By BigAngryDog in forum Projects and Job Recruitment
    Replies: 0
    Last Post: 05-01-2010, 07:01 PM
  5. Are these good ideas for open source projects?
    By darsunt in forum General Discussions
    Replies: 2
    Last Post: 03-26-2010, 05:04 PM