473,397 Members | 1,961 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

libclc - from Boost thread

Rouben Rostamian said:
An attempt toward creating a set of library tools was made
by some participants of this newsgroup a few years ago but
it fell by the wayside. See:

http://libclc.sourceforge.net/

The failure of libclc to take root is not surprising.
Minimalism has been a characteristic of C from the very
beginning.
------------------------------------------------------------------------------

What were the goals of this library?

May 10 '06 #1
22 2106
Marco said:
What were the goals of [libclc]?


Initially, it was intended to be a set of fully portable routines which
built on the standard library.

Then some people decided it would be neat to add some stuff which wasn't
actually portable, some other people (myself included) expressed surprise
and concern that a comp.lang.c library would not be portable, and that's
pretty much when it died.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 10 '06 #2
Richard Heathfield a écrit :
Marco said:

What were the goals of [libclc]?

Initially, it was intended to be a set of fully portable routines which
built on the standard library.

Then some people decided it would be neat to add some stuff which wasn't
actually portable, some other people (myself included) expressed surprise
and concern that a comp.lang.c library would not be portable, and that's
pretty much when it died.


Mmm what stuff wanted those people to add?

And why wasn't it "portable" ???

jacob
May 10 '06 #3
jacob navia said:
Richard Heathfield a écrit :
Marco said:

What were the goals of [libclc]?

Initially, it was intended to be a set of fully portable routines which
built on the standard library.

Then some people decided it would be neat to add some stuff which wasn't
actually portable, some other people (myself included) expressed surprise
and concern that a comp.lang.c library would not be portable, and that's
pretty much when it died.


Mmm what stuff wanted those people to add?

And why wasn't it "portable" ???


I don't remember. If you care enough, you should be able to find it in the
archives.

There's so much you can do portably that it seems silly for such a
worthwhile project to have foundered for such a reason.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 10 '06 #4

"Richard Heathfield" <in*****@invalid.invalid> wrote in message
news:Se********************@bt.com...
jacob navia said:
Richard Heathfield a écrit :
Marco said:
What were the goals of [libclc]?
Initially, it was intended to be a set of fully portable routines which
built on the standard library.

Then some people decided it would be neat to add some stuff which wasn't actually portable, some other people (myself included) expressed surprise and concern that a comp.lang.c library would not be portable, and that's pretty much when it died.


Mmm what stuff wanted those people to add?

And why wasn't it "portable" ???


I don't remember. If you care enough, you should be able to find it in the
archives.

There's so much you can do portably that it seems silly for such a
worthwhile project to have foundered for such a reason.


I remember deleting libclc. That usually means there is an issue with the
code's licensing...
Rod Pemberton
May 10 '06 #5
Richard Heathfield wrote:

There's so much you can do portably that it seems silly for such a
worthwhile project to have foundered for such a reason.


Indeed. I must admit this is the first time I have encountered this
project. Seeing the huge potential such a library would have it's really
dissapointing it didn't succeed because of such an obstacle.

May 10 '06 #6
On Wed, 10 May 2006 07:58:51 -0700, Marco wrote:
Rouben Rostamian said:
An attempt toward creating a set of library tools was made
by some participants of this newsgroup a few years ago but
it fell by the wayside. See:

http://libclc.sourceforge.net/

The failure of libclc to take root is not surprising.
Minimalism has been a characteristic of C from the very
beginning.


And, also, a reliance on established practice. I keep a "compat"
library of useful routines. My rule is that they must have been vetted on
an existing platform, and of course fit in with the spirit of C (or Unix).
I include strlcpy()/strlcat(), and the BSD sys/queue.h and sys/tree.h
macro interfaces.

I keep a separate collection of other homegrown or salvaged routines. And
as expected the churn in that library is much, much higher.

May 10 '06 #7
Richard Heathfield wrote:

jacob navia said:
Richard Heathfield a écrit :
Marco said: What were the goals of [libclc]?


I think the whole idea was fundamentally flawed.
I didn't see that libclc was worth learning.
Learning libclc doesn't excuse you
from learning the standard library.
And if you know the standard library, then you can write libclc.

--
pete
May 10 '06 #8
On 2006-05-10, William Ahern <wi*****@25thandClement.com> wrote:
On Wed, 10 May 2006 07:58:51 -0700, Marco wrote:
Rouben Rostamian said:
An attempt toward creating a set of library tools was made
by some participants of this newsgroup a few years ago but
it fell by the wayside. See:

http://libclc.sourceforge.net/

The failure of libclc to take root is not surprising.
Minimalism has been a characteristic of C from the very
beginning.


And, also, a reliance on established practice. I keep a "compat"
library of useful routines. My rule is that they must have been vetted on
an existing platform, and of course fit in with the spirit of C (or Unix).
I include strlcpy()/strlcat(), and the BSD sys/queue.h and sys/tree.h
macro interfaces.

I keep a separate collection of other homegrown or salvaged routines. And
as expected the churn in that library is much, much higher.


Any chance you might publish said libraries?
May 10 '06 #9
boa
* jacob navia wrote, On 10.05.2006 17:48:
Richard Heathfield a écrit :
Marco said:

What were the goals of [libclc]?

Initially, it was intended to be a set of fully portable routines
which built on the standard library.

Then some people decided it would be neat to add some stuff which
wasn't actually portable, some other people (myself included)
expressed surprise and concern that a comp.lang.c library would not be
portable, and that's pretty much when it died.


Mmm what stuff wanted those people to add?

And why wasn't it "portable" ???


Of course libclc was portable. The only "portability" issue I can
recall, was that some participants wanted to add concepts which would
have made the library usable in both ST and MT environments, others did
not.

The project failed for other reasons, which we probably don't want to
get into, at least not in public.

boa
May 10 '06 #10
boa wrote:
ST and MT environments


What are those?

--
pete
May 10 '06 #11
pete wrote:
boa wrote:

ST and MT environments

What are those?

Singe Thread and Multi Threaded.

--
Ian Collins.
May 10 '06 #12
pete wrote:
Richard Heathfield wrote:
jacob navia said:
Richard Heathfield a écrit :
Marco said: What were the goals of [libclc]?


I think the whole idea was fundamentally flawed.
I didn't see that libclc was worth learning.
Learning libclc doesn't excuse you
from learning the standard library.
And if you know the standard library, then you can write libclc.

In other words, classic case of Not Invented Here syndrome.

There seems to be a taboo against C programmers using libraries that do not
strictly provide functionality you could *not* have written
yourself--because you either don't understand how to implement it in the
first place or because it's just too tedious for you to bother with.

More a psychological barrier than anything else, really.

S.
May 10 '06 #13
pete said:
Richard Heathfield wrote:

jacob navia said:
> Richard Heathfield a écrit :
>> Marco said: >>> What were the goals of [libclc]?

I think the whole idea was fundamentally flawed.


Well, I wasn't involved with it myself, but I think there might have been
some value there.
I didn't see that libclc was worth learning.
Learning libclc doesn't excuse you
from learning the standard library.
And if you know the standard library, then you can write libclc.


Yeah, but if someone's already written it then you don't have to. A great
time-saver.

Also, if libclc were truly portable, it could have been accepted into the
"canon" here in clc, and thus used as a sort of code-based version of the
FAQ. "Q: How do I <foo>?" "A: See the source for <foo>.c in libclc" - or it
could be used within answers to shortcut one's way through semi-boilerplate
stuff.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 11 '06 #14
boa said:
The project failed for other reasons, which we probably don't want to
get into, at least not in public.


That's news to me. If the project failed for non-public reasons, then
presumably some stuff was going on outside the clc newsgroup (which is
public). So libclc would have been a bit of a misnomer, wouldn't it?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 11 '06 #15
boa
* Richard Heathfield wrote, On 11.05.2006 08:14:
boa said:
The project failed for other reasons, which we probably don't want to
get into, at least not in public.


That's news to me. If the project failed for non-public reasons, then
presumably some stuff was going on outside the clc newsgroup (which is
public). So libclc would have been a bit of a misnomer, wouldn't it?


Why would it be a misnomer?
boa
May 11 '06 #16
boa said:
* Richard Heathfield wrote, On 11.05.2006 08:14:
boa said:
The project failed for other reasons, which we probably don't want to
get into, at least not in public.


That's news to me. If the project failed for non-public reasons, then
presumably some stuff was going on outside the clc newsgroup (which is
public). So libclc would have been a bit of a misnomer, wouldn't it?


Why would it be a misnomer?


If it was happening outside clc, it should have been called libnotclc, or
libnothingtodowithclc, or libwedoallourfightinginemail.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 11 '06 #17
boa
* Richard Heathfield wrote, On 11.05.2006 08:37:
boa said:
* Richard Heathfield wrote, On 11.05.2006 08:14:
boa said:

The project failed for other reasons, which we probably don't want to
get into, at least not in public.
That's news to me. If the project failed for non-public reasons, then
presumably some stuff was going on outside the clc newsgroup (which is
public). So libclc would have been a bit of a misnomer, wouldn't it?

Why would it be a misnomer?


If it was happening outside clc, it should have been called libnotclc, or
libnothingtodowithclc, or libwedoallourfightinginemail.


If *what* was happening outside clc? Exactly what part of a project like
libclc could not happen outside clc?

Let me try with an analogy: If UK politicians discuss stuff outside the
House of Commons, UK is not a democracy?
boa

May 11 '06 #18
boa said:
* Richard Heathfield wrote, On 11.05.2006 08:37:
boa said:
* Richard Heathfield wrote, On 11.05.2006 08:14:
boa said:

> The project failed for other reasons, which we probably don't want to
> get into, at least not in public.
That's news to me. If the project failed for non-public reasons, then
presumably some stuff was going on outside the clc newsgroup (which is
public). So libclc would have been a bit of a misnomer, wouldn't it?

Why would it be a misnomer?
If it was happening outside clc, it should have been called libnotclc, or
libnothingtodowithclc, or libwedoallourfightinginemail.


If *what* was happening outside clc?


The stuff that made the project fail. Obviously I don't know what stuff that
is, because it happened outside clc.
Exactly what part of a project like libclc could not happen outside clc?
I don't know, because it happened outside clc. But whatever it was, it
caused the project to fail.
Let me try with an analogy: If UK politicians discuss stuff outside the
House of Commons, UK is not a democracy?


If UK politicians discuss stuff outside the House of Commons and, as a
consequence, decide amongst themselves to cede sovereignty to a foreign
despot (e.g. the EU), then yes, the UK is no longer a democracy. (In fact,
this is basically what happened in real life.)

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 11 '06 #19
boa
* Richard Heathfield wrote, On 11.05.2006 09:10:
boa said:
* Richard Heathfield wrote, On 11.05.2006 08:37:
boa said:

* Richard Heathfield wrote, On 11.05.2006 08:14:
> boa said:
>
>> The project failed for other reasons, which we probably don't want to
>> get into, at least not in public.
> That's news to me. If the project failed for non-public reasons, then
> presumably some stuff was going on outside the clc newsgroup (which is
> public). So libclc would have been a bit of a misnomer, wouldn't it?
>
Why would it be a misnomer?
If it was happening outside clc, it should have been called libnotclc, or
libnothingtodowithclc, or libwedoallourfightinginemail.

If *what* was happening outside clc?


The stuff that made the project fail. Obviously I don't know what stuff that
is, because it happened outside clc.


Nothing happened outside clc that made the project fail, at least not as
far as I'm concerned. Quite the opposite, actually.

boa

[snip]
May 11 '06 #20
boa said:
<snip>
>> boa said:
>>
>>> The project failed for other reasons, which we probably don't want
>>> to get into, at least not in public.

<snip>
Nothing happened outside clc that made the project fail, at least not as
far as I'm concerned. Quite the opposite, actually.


Then I can only conclude that the information on why the project failed is
already public, so what's the harm in discussing it in public?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
May 11 '06 #21
On Wed, 10 May 2006 20:22:53 +0000, Jordan Abel wrote:
And, also, a reliance on established practice. I keep a "compat"
library of useful routines. My rule is that they must have been vetted on
an existing platform, and of course fit in with the spirit of C (or Unix).
I include strlcpy()/strlcat(), and the BSD sys/queue.h and sys/tree.h
macro interfaces.

I keep a separate collection of other homegrown or salvaged routines. And
as expected the churn in that library is much, much higher.


Any chance you might publish said libraries?


I'm still working on packaging them up. The compat and utility
libraries I've built at work aren't worth releasing in their current
forms. I did rewrite a memory allocation interface library:

http://www.25thandclement.com/~willi.../libarena.html

libarena is quite stable. It went through a few iterations at work. Then
on my own time I did a complete rewrite.

Other stuff is scattered amongst libevnet, libmime and some other projects.

May 11 '06 #22
Groovy hepcat pete was jivin' on Wed, 10 May 2006 18:40:49 GMT in
comp.lang.c.
Re: libclc - from Boost thread's a cool scene! Dig it!
Richard Heathfield wrote:
jacob navia said:
> Richard Heathfield a écrit :
>> Marco said: >>> What were the goals of [libclc]?

I think the whole idea was fundamentally flawed.


I don't think the idea was flawed. But the execution sure was. Most
of us thought it was a good idea at the time. But few of us got
involved, and those who did just lost interest when things got out of
hand. We should have remembered the addage, "Keep it simple, stupid!"
I didn't see that libclc was worth learning.
In the end you were right. But it would have been worth it, had it
all worked out and been what it was meant to be.
Learning libclc doesn't excuse you
from learning the standard library.
Of course not! Who says it does? It was an add-on, based on the
standard library, not a replacement, obviously.
And if you know the standard library, then you can write libclc.


Basically, yeah. But having a portable library of useful routines
that implement commonly used functionality means you don't have to
reinvent the wheel. And it means that newbies have something to learn
from. It also means, since it's a community based project, that it is
reviewed, critiqued, suggested, added to, corrected, bug-fixed,
cleaned up and made as robust as practical.

--

Dig the even newer still, yet more improved, sig!

http://alphalink.com.au/~phaywood/
"Ain't I'm a dog?" - Ronny Self, Ain't I'm a Dog, written by G. Sherry & W. Walker.
I know it's not "technically correct" English; but since when was rock & roll "technically correct"?
May 14 '06 #23

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Bjørn Augestad | last post by:
Hello, everyone. It's time to add a new module to the libclc library, so this is an invitation for all to contribute misc. functions which doesn't fit into a category of their own. Not the big...
2
by: Bjørn Augestad | last post by:
I'm writing to thank everyone who has been working on and contributing to the libclc project. It's been a very educating experience and quite entertaining at times as well. I've come to the...
4
by: Lighter | last post by:
#include <boost/thread/thread.hpp> #include <iostream> using namespace std; using namespace boost; void hello() { cout << "Hello world, I'm a thread!" << endl; }
5
by: linyanhung | last post by:
I used a boost multi thread in VS 2005 on a Duo Core PC, and made a two thread process. The code is something like this: #include <boost/thread/thread.hpp> void fun1() { //do something
3
by: Gary Wessle | last post by:
#include <boost/thread/thread.hpp> #include <iostream> using namespace std; class waiter { public: waiter(); void waiting(); void preform();
4
by: Gary Wessle | last post by:
Hi given the Boost thread example here http://www-eleves-isia.cma.fr/documentation/BoostDoc/boost_1_29_0/libs/thread/example/thread.cpp the code below attempts to run the example thread while...
2
by: digz | last post by:
Hi, I am trying to write a program which has two threads one of them write to a map , and the other one deletes entries based on a certain criterion.. first I cannot get the delete portion to...
2
by: Chameleon | last post by:
Why this strange output? Why so many d'tor calls? The code: ---------------------------------------------------------- #include <cstdio> #include <boost/thread/thread.hpp> class A {
3
by: Lars Uffmann | last post by:
I have this wxWidgets OnButtonClick event handler, that apparently holds a lock on all widgets in my form, but this event handler is supposed to end a thread in the background - while that thread...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.