Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #74568

Re: The C Containers library

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: The C Containers library
Date 2015-11-01 16:36 +0000
Organization A noiseless patient Spider
Message-ID <87d1vt7k2b.fsf@bsb.me.uk> (permalink)
References <n14lk4$hmh$1@dont-email.me> <87r3ka6l7c.fsf@bsb.me.uk> <406c3221-7cfe-4e8f-8441-a97e0ce48122@googlegroups.com>

Show all headers | View raw


Malcolm McLean <malcolm.mclean5@btinternet.com> writes:

> On Sunday, November 1, 2015 at 10:57:51 AM UTC, Ben Bacarisse wrote:
>>
>> These don't show the same level of abstraction.  The C++ uses a more
>> abstract collection (vector) than the C code does -- the C version has
>> the type of the elements wired into to the code.  The same level of
>> abstraction would need a string type, and a generic collection type that
>> can use it.
>> 
>> That's very hard in C which is, I think, why you introduced the specific
>> generalisation of a strCollection.
>> 
> Not really.

Yes really.  Nothing I said is wrong.

> However in C you approach the problem differently. You pass in an object's
> bit pattern and its size, and you make sure you get the same bit pattern
> back.

Jacob's collection use that approach but it does not work for strings,
hence the specialised interface.

> You pass an ordered list by passing an array, if you want to do it generically.
> If you want to pass a linked list or a more complex graph, you need a bit
> of boilerplate code (you can call it a "design pattern" if you like buzz words),
> which is usually simply for(ptr = head; ptr != 0; ptr = ptr->next). Proposals
> for standard containers (Like Jacob's) have generally failed - it would only
> take five minutes to design a stdlinkedlist header, but in fact everyone prefers
> to roll their own. Whether that says something good or bad about C is a good
> question.

Yes, I mostly agree with this -- the C way it to roll your own non-abstract
container interfaces.  Often again and again.  Sometimes with new bugs.

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

The C Containers library jacobnavia <jacob@jacob.remcomp.fr> - 2015-11-01 10:24 +0100
  Re: The C Containers library Ian Collins <ian-news@hotmail.com> - 2015-11-01 22:43 +1300
    Re: The C Containers library jacobnavia <jacob@jacob.remcomp.fr> - 2015-11-01 12:08 +0100
      Re: The C Containers library Ian Collins <ian-news@hotmail.com> - 2015-11-02 10:46 +1300
        Re: The C Containers library jacobnavia <jacob@jacob.remcomp.fr> - 2015-11-01 23:10 +0100
  Re: The C Containers library gazelle@shell.xmission.com (Kenny McCormack) - 2015-11-01 10:57 +0000
  Re: The C Containers library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-01 10:57 +0000
    Re: The C Containers library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-01 03:30 -0800
      Re: The C Containers library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-01 16:36 +0000
        Re: The C Containers library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-01 10:04 -0800
          Re: The C Containers library Ian Collins <ian-news@hotmail.com> - 2015-11-02 07:23 +1300
            Re: The C Containers library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-01 13:25 -0800
            Re: The C Containers library supercat@casperkitty.com - 2015-11-01 15:44 -0800
          Re: The C Containers library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-01 23:50 +0000
            Re: The C Containers library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-02 01:19 -0800
              Re: The C Containers library Ian Collins <ian-news@hotmail.com> - 2015-11-02 22:33 +1300
                Re: The C Containers library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-02 02:04 -0800
  Re: The C Containers library Keith Thompson <kst-u@mib.org> - 2015-11-01 12:04 -0800
    Re: The C Containers library Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-11-01 15:41 -0500
      Re: The C Containers library Keith Thompson <kst-u@mib.org> - 2015-11-01 13:26 -0800
        Re: The C Containers library Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-11-01 16:50 -0500

csiph-web