473,889 Members | 1,862 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Boost process and C

Hi,

Is there any group in the manner of the C++ Boost group that works on
the evolution of the C language? Or is there any group that performs an
equivalent function?

Thanks,
-vs

Apr 29 '06
335 11982
On Thu, 11 May 2006 23:37:21 +1200,
Ian Collins <ia******@hotma il.com> wrote
in Msg. <4c************ *@individual.ne t>
Its success has been partly due to to the language committee
standardising a well regarded library that was already widely used. It's
unfortunate the C lacks such a library.


C doesn't "lack" such a library in the sense that complex data
structures cannot be implemented effectively in C. Several good
container libraries exist, and you are free to choose and use the one
that best fits your application. And if you really think you can't do
without a ISO-approved library, you are free to write C wrappers around
C++'s STL.

I think it is one of the *strengths* of the C standard to require only a
minimal (compared to C++ oder other higher-level languages)
functionality from the implementation, and it doesn't seem to have
stopped C from being a language in which huge numbers of applications
have successfully been coded.

robert
May 11 '06 #331
On Thu, 11 May 2006 08:48:51 +0000,
Richard Heathfield <in*****@invali d.invalid> wrote
in Msg. <N5************ ********@bt.com >
Heck, the teddy-bear thing even works
when I'm wandering randomly around the kitchen!

"Clint, where on earth is the kett... oh, I'm holding it, aren't I?"
Richard, you need to get is a life, not a teddy bear ;-)
As for the chattiness, well, I can't help that. I'm a naturally chatty
person.


I know. So am I. I do appreciate chattiness, so don't take my criticism
of yours too harshly.

There are things that I find worthier of criticism in CU, such as
instances of, "Here is the complete source of <whatever>. To see
examples of how it is used, look at the CD" when it should actually be
the other way round. If you like I can give you specifics.

No, I don't regret having bought the book. I like it, including the
chatty parts.

robert
May 11 '06 #332
On 11 May 2006 03:15:01 -0700,
we******@gmail. com <we******@gmail .com> wrote
in Msg. <11************ **********@u72g 2000cwu.googleg roups.com>
C is the only really scalable programming language that has intuitively
predictable performance. Unfortunately, the C standard committee
specific disavows this fact.


For very good reasons, the C Standard says *nothing* about C's
performance. Why should it? Performance issues should be left to the
people who know best, the implementors.

robert
May 11 '06 #333
Robert Latest said:
There are things that I find worthier of criticism in CU, such as
instances of, "Here is the complete source of <whatever>. To see
examples of how it is used, look at the CD" when it should actually be
the other way round. If you like I can give you specifics.
No need. Personally, I think it should *all* be in the book, where you can
still read it even if you're caught on a train without a laptop to hand.
But there are limits to the carrying capacity of the average passenger
coach, and the railway lobby got to me in advance and warned me off (a guy
with a railway sleeper called at my house to tell me precisely what he'd do
with it if it didn't outweigh the finished book).

No, I don't regret having bought the book. I like it, including the
chatty parts.


Good, because - if I ever write another - it'll be even more
chatteryieriere r.

--
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 #334
"Richard Tobin" wrote:
In article <44************ ***********@tun ews.univie.ac.a t>,
John F <ca************ @gmx.at> wrote:
It is meaningless in context. You get a new object, which is only an
artefact of applying an operation which is not defined yet. You
can't
define it by saying the converse operation yields the same result.


Why not? It is perfectly reasonable to define objects in terms of
the
operations that can be performed on them.


No. It doesn't make sense to define it that way. You can't make use of
the result if you do. (see below)
You will have to find a representation if you want to implement it.


So what? That can be completely opaque to the user. Every
implementation
can do it differently.


We were talking about the math behind it. Weren't we?
This
means (as Keith pointed out correctly) to fix an offset and a scale
for your representation of dates thus applying another projection
into
the body of (maybe even) the real numbers.


That's one possible implementation, probably the most reasonable
one.


IMHO it is the only one to allow an addition of dates (with the same
syntax but different inherent semantics and without any result in the
domain of dates, just an intermediate result in the domain of
numbers).
Only there you are allowed
to use the analogy of adding dates.


Why?


Because the operation "add", as we are used to how it works (e.g. for
natural numbers: successively count all cardinalities in all
summands), is defined for numbers and not for dates. You will need a
(bijective) homomorphism between dates and numbers to be able to use
the same rules as with numbers.

Now it turns out that the backtransform of a sum of two numbers
representing dates into dates does not make any sense. So you can't
apply it to dates. It is an abstract artefact, like some effects in
frequency-domain vs. timedomain.
For g(jw)=1 you are not able to perform the backtransform within the
domain of continuous functions, you need distributions to represent
the result.

You will have to abstract from "date" as you know it to something
different to give it a meaning there. You can still accept it in the
domain of numbers, but you will not be able to transform

f(date1)+f(date 2)=k

date3=f^(-1)(k)

this is illegal because it makes no sense to be interpreted as a date.

I hope that makes things alittle clearer now.

--
regards
John
May 11 '06 #335
On 4 May 2006 19:38:59 -0700, we******@gmail. com wrote:
Flash Gordon wrote: <snip>
You are assuming I won't want an object larger than can be represented
in an int. That is an artificial limitation.


size_t is also a similar artificial limitation. The fact that arrays


The required properties of size_t force every C implementation to have
some limit, fixed not later than compile time, on the size of objects
and hence of arrays and strings. Given that, using size_t never
imposes any limit stricter than the implementation already does. But
int (and even unsigned int) may be to small to represent all valid
subscripts or offsets of a valid object; I think that's the point of
calling it an _artificial_ limit. In fact one of the (obscure and
rare) systems I use today does exactly that. And in fact I sometimes
write routines that use int or uint length/size for efficiency knowing
and accepting that this limits some possibly good uses of them.
can only take certain kinds of scalars as index parameters is also an
artificial limitation. But it turns out that basically every language
Not in C. Notice that 6.5.2.1 and 6.5.6 talk about 'integer' type, not
specifically 'int'. And similarly for declarations in 6.7.5.2. The
_values_ of these subscripts and bounds can't exceed some limit which
cannot be greater than SIZE_MAX (+1 where applicable), but the type
may be long long long long long int or whatever.

FORTRAN on the other hand does have this problem. Originally it had
only one size of INTEGER and dimensions and subscripts were of that
type. When F90 added multiple 'KINDs' (meaning widths) it specified
apparently for backward compatibility that bounds and subscripts are
of the 'default INTEGER KIND', which is also required to be the same
size (in storage at least) as the default = single precision REAL and
thus in practice must usually be the machine word, at least on
machines that have a recognizable word size. And there are machines,
and (particularly) now sizes of large number-crunching problems coded
in Fortran that people want to run, that exceed that default size.
and every array-like or string-like (with the notable exceptions of Lua
and Python) has a similar kind of limitation.

I'm not sure if you meant every language with any array-like or
string-like type, or every such type in every language. Although I
can't immediately think of a case where it makes a difference.

I'm pretty sure LISP allows array subscripting by bignums, but still
subject to available (virtual) memory which in reality <G> always has
some limit. I'm not sure about strings. LISPers traditionally didn't
focus much on things that would need long strings.

I don't recall what APL does here but I think it would be worth
checking; that language (or rather designer, Iverson) thought more
throroughly about mathematical 'sense' than any other I know.

- David.Thompson1 at worldnet.att.ne t
May 14 '06 #336

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

Similar topics

65
5415
by: perseus | last post by:
I think that everyone who told me that my question is irrelevant, in particular Mr. David White, is being absolutely ridiculous. Obviously, most of you up here behave like the owners of the C++ language. A C++ interface installation IS ABOUT THE C++ LANGUAGE! The language does not possess the ability to handle even simple file directory manipulation. Those wise people that created it did not take care of it. So, BOOST is a portable...
205
10775
by: Jeremy Siek | last post by:
CALL FOR PAPERS/PARTICIPATION C++, Boost, and the Future of C++ Libraries Workshop at OOPSLA October 24-28, 2004 Vancouver, British Columbia, Canada http://tinyurl.com/4n5pf Submissions
17
1908
by: Howard Gardner | last post by:
/* If I am using boost, then how should I write this program? As it sits, this program is using SFINAE to determine whether or not a type supports particular syntax. I suspect that there is functionality in boost to do this. I have found mpl::has_xxx, which I suspect of being part of the solution. I've also found type_traits::has_nothrow_constructor
2
6637
by: smith4894 | last post by:
{ not sure you're aware of that but there are the newsgroups for all major operating systems. you might want to try asking in the forum 'comp.os.linux.development.apps', since memory-mapped files are not a language-supported structure, they are platform-specific. -mod } I'm trying to use boost serialization to serialize/deserialize data to and from a mmap'd file. I have my own ostream/istream classes that essentially read/write bytes...
5
2400
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
8
6220
by: Matt England | last post by:
My team currently using Boost Threads, but we are considering switching to ZThreads. (We seek cross-platform, C++ multithreading capabilities in an external library.) ZThread(s): http://zthread.sourceforge.net/ http://www.inf.uni-konstanz.de/dbis/members/vinnik/zsim/doc/ Can anyone share their ZThreads experience, either good, bad, or
2
2417
by: ironpingwin | last post by:
Hi! I'd like to make few threads which will run in the same time in C++. I try to use boost library v 1.34.1 (it can't be newest, because I compile on remote machine, which is not administrated by me). In this version there isn't detach() function. How to run functions from two different class in the same time?
13
4543
by: brad | last post by:
Still learning C++. I'm writing some regex using boost. It works great. Only thing is... this code seems slow to me compared to equivelent Perl and Python. I'm sure I'm doing something incorrect. Any tips? #include <boost/regex.hpp> #include <iostream> // g++ numbers.cpp -o numbers -I/usr/local/include/boost-1_35 /usr/local/lib/libboost_regex-gcc41-mt-s.a // g++ numbers.cpp -o numbers.exe
5
3596
by: ameyav | last post by:
Hi All, I am converting some C code into C++ code. The objective is to improve throughput. I have some code written in C which serially parses through a list of files, opens each one of them, processes the data and closes the file. All the files are processed one by one. The obvious performance bottleneck that i could think of is the wasted cpu cycles for file i/o. *My solution* was to spawn multiple threads to do the file i/o. For...
0
11203
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10794
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10896
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10443
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9612
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
7151
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5830
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
6029
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
4251
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.