Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| 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> |
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
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