Thread: C programmers for open source library

  1. #1
    Registered User claudiu's Avatar
    Join Date
    Feb 2010
    Location
    London, United Kingdom
    Posts
    2,094

    Lightbulb C programmers for open source library

    I am currently developing an extension to the standard C library which will provide generic implementations of commonly used data structures (lists, trees , maps, sets, graphs,etc) and associated algorithm implementations, in short, everything you would need to take good old C for a spin. The project is in planning and I am looking for people to help me implement some of.the functionality. I am using sourceforge to host the project. Both beginners who are looking to learn as well as more experienced developers are welcome to join.
    Go here to join - please request to join on the forum.
    GNU C ADT | Download GNU C ADT software for free at SourceForge.net

    Thanks
    1. Get rid of gets(). Never ever ever use it again. Replace it with fgets() and use that instead.
    2. Get rid of void main and replace it with int main(void) and return 0 at the end of the function.
    3. Get rid of conio.h and other antiquated DOS crap headers.
    4. Don't cast the return value of malloc, even if you always always always make sure that stdlib.h is included.

  2. #2
    Registered User
    Join Date
    Oct 2009
    Posts
    46
    This should be fun. I'm interested.

  3. #3
    Registered User claudiu's Avatar
    Join Date
    Feb 2010
    Location
    London, United Kingdom
    Posts
    2,094
    Hey sugarfree, thanks for your interest!If you join us on sourceforge I can add you to the developer team and we can discuss more there. If there is anyone else interested don't be shy. We will be working on a fun project at our own leisure.
    Last edited by claudiu; 08-02-2010 at 08:37 AM.
    1. Get rid of gets(). Never ever ever use it again. Replace it with fgets() and use that instead.
    2. Get rid of void main and replace it with int main(void) and return 0 at the end of the function.
    3. Get rid of conio.h and other antiquated DOS crap headers.
    4. Don't cast the return value of malloc, even if you always always always make sure that stdlib.h is included.

  4. #4
    Registered User
    Join Date
    Jul 2010
    Posts
    55
    so you wanna make the C version of the STL? :P

  5. #5
    Registered /usr
    Join Date
    Aug 2001
    Location
    Newport, South Wales, UK
    Posts
    1,273
    This is a strange one.
    I've already implemented different types of lists and trees in C as part of my development experience. Doing so has made me a better programmer.

    Structurally you're not asking much, just implementing as function(pStruct, ...) instead of pClass->function(...)

    Is there a need for this or is it just because?

  6. #6
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    You should define your goals of this project. You should ask
    1) Why would someone use C and not C++ if he is going with complex structures
    2) If the answer is embedded systems that don't support C++ or similar systems that C is the only answer, an "external" library is hard to trust. What if it has a bug? What if it is too slow? Essentially it is easier doing it yourself rather than checking a library.

    You could try using existing libraries, making wrappers around them so they are easier to use and follow some naming/functionality rules, make your own structures that are missing and have a good compact extension.

    Then you run test to demonstrate speed and reliability.

  7. #7
    Registered User
    Join Date
    Jul 2007
    Posts
    131
    I couldn't find any references to this from GNU or FSF, is this part of GNU or not?

  8. #8
    Registered User
    Join Date
    Jul 2010
    Posts
    30
    Hello claudiu,

    I would be interested in joining the developer's group and have joined the forum at SourceForge.net.
    Looking forward to be of some help to the team..
    occounty.

  9. #9
    Registered User claudiu's Avatar
    Join Date
    Feb 2010
    Location
    London, United Kingdom
    Posts
    2,094
    Just to clarify a few things that have been posted here:

    1) First of all I am sorry for the delay in answering to this thread, I have been quite busy and haven't checked it in a while.

    2) @thefeedinghand Yes, that's the idea.

    3) @SMurf @C_ntua I am not sure how stringent the need is however, as a C developer, I have often been dissatisfied with data structure implementations in C and with the lack of consensus around implementations (primarily because every programmer writes his own linked list or tree implementations suiting his own needs). While I am by no means claiming that my implementation will be the best it will at the very least have decent performance and most importantly it will be unified and exhaustive. The point here is to try and reduce development time by as much as possible. As for how reliable this library will be that is not for me to say, but rather for subsequent experienced user programmers. Reliability nowadays is strictly related to feedback so we welcome any comments or constructive criticism .

    Of course, we will also provide our own testing and performance analysis.

    As for the scope of the program, embedded systems could be part of it however, you would be surprised how much C development is still going on primarily for open source applications on the Linux platform, not to mention system development itself. Of course, we can't fully claim that we know where this project is heading to in terms of scope. I guess it's more or less like Edison said: "I haven't failed 10000 times I have found 10000 ways that don't work.".

    4)@fronty No, this is not part of "The GNU", I just called it that way and they are free to sue me if they don't like it.

    5)@OCcounty Please make an account and join us there then. We are always looking forward to working with new contributors. The same goes for anyone else interested. I believe there is a forum topic open to non-members so you can just post there you want to join. If not, feel free to PM me my ID there is <uclaudiu>. (without the <>).

    Even if you don't want to contribute per say but would like to comment or monitor what is going on, out of pure interest, let me know and I will make sure you have sufficient credentials to post on the forums and download the code.

    If there are any more questions I would be happy to answer them individually from now on. This one has been sort of a blob response.
    Last edited by claudiu; 09-22-2010 at 03:32 AM.
    1. Get rid of gets(). Never ever ever use it again. Replace it with fgets() and use that instead.
    2. Get rid of void main and replace it with int main(void) and return 0 at the end of the function.
    3. Get rid of conio.h and other antiquated DOS crap headers.
    4. Don't cast the return value of malloc, even if you always always always make sure that stdlib.h is included.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. How to build, run Boland C++ 6 source file via VS2005?
    By userpingz in forum C++ Programming
    Replies: 2
    Last Post: 05-21-2009, 03:25 AM
  2. Proprietary software and gnu linux
    By code2d in forum A Brief History of Cprogramming.com
    Replies: 19
    Last Post: 06-27-2007, 09:44 AM
  3. Open source graphing / plotting library?
    By sysop in forum C Programming
    Replies: 2
    Last Post: 06-05-2007, 12:20 PM
  4. Replies: 1
    Last Post: 12-22-2006, 02:09 AM
  5. better c string functions
    By samps005 in forum C Programming
    Replies: 8
    Last Post: 11-04-2003, 01:28 PM