473,838 Members | 1,654 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 11903
jacob navia <ja***@jacob.re mcomp.fr> wrote:
Richard Bos a écrit :
[snip]
Three restrictions. And bright red uniforms. But those are not
references as it is generally understood. They're also mostly useless. I
cannot imagine wanting such a type when I already have normal pointers.
OTOH, they're also - being toothless - not harmful, the way a real
reference is.

For enlightenment on what is generally meant by "reference" in
programming, see the C++ Standard.
I do not really care, I am not trying to copy C++. The only advantage of
references is that they are never NULL in my implementation, and they
are (maybe) not as powerful as the C++ ones.


Then, as I said, they're neither useful nor references.
We need length prefixed strings,


...like we need a hole in the head.


What is wrong with length prefixed strings Richard?


That's been discussed here so often that I really can't be arsed to
repeat the whole argument for the N+1th time.
Can you put forward your *arguments* instead of just sending polemic to
the discussion?

WHY are length prefixed strings wrong?

I am waiting for an argument Richard.


Don't cite other people's names like that jacob navia.

It does not make your posts any easier to read nor any more to the point
jacob navia.

Frankly, it makes you sound like a bit of a twerp jacob navia.

Richard
May 5 '06 #251
Ian Collins <ia******@hotma il.com> wrote:
Richard Bos wrote:
Functions which take a reference can change _my_ object behind my back,
and the only way I'd know about it is if I dug up the prototype. You
cannot tell from a single call. With pointers, the difference is always
clear. To illustrate:

That's why we have const. If a function isn't going to change the value
passed in, it should reference (or pointer) to a const object. If the
parameter isn't const, assume the worst. No difference between pointers
and references in this case.


But you still can't tell from any particular _call_ to a function
whether that function is likely to change its arguments, or is
guaranteed not to. As long as you have references (real ones, not
navia-references), you cannot trust a single function call - you have to
look up all prototypes, even if you're only trying to understand someone
else's code.

Richard
May 5 '06 #252
Robert Latest <bo*******@yaho o.com> wrote:
On 2006-05-02, Keith Thompson <ks***@mib.or g> wrote:
If you don't like the features of C, you can either:


[ suggestions (1) through (4) snipped ]

(5) Write a compiler that supports the needed features,
preferably for a popular platform with a wide user
base such as Windows, and make it available for free.

If people like the language extensions, they will become popular
quickly and make it into other implementations as well, thus
creating what is known as a "de facto standard". No need to wait
for an ISO committee.


Perfectly good idea, _but_ if you do so, do not post samples of your
extended-not-quite-C here as if it were normal C, or a good solution to
a general problem.

Richard
May 5 '06 #253
REH

"Ben C" <sp******@spam. eggs> wrote in message
news:sl******** *************@b owser.marioworl d...
On 2006-05-05, REH <me@you.com> wrote:

"Ben C" <sp******@spam. eggs> wrote in message
news:sl******** *************@b owser.marioworl d...
Yes I know. But you do get constructors, destructors and references, so
you can fit explicit memory management "under the hood" of operator
overloading.

I can understood people's dislike of references (though I don't agree
with
the reasons), but what is wrong with constructors and destructors?


Nothing, I like constructors and destructors.


Then I have completely misunderstood your point, which wouldn't be a first
for me.

REH
May 5 '06 #254
On 2006-05-04, we******@gmail. com <we******@gmail .com> wrote:
I think the point is that there are *many* such application. In fact I
would be suspicious of anyone who claimed to be an experienced
programmer who hasn't *written* one of these.


....and I would be suspcious of anyone who claimed to be an
experienced programmer who can't write the necessary routines
from scratch in less time than it takes to download, install, and
understand a dedicated string library. In fact I want to see a
single experienced programmer who hasn't written his own little
string library at some point in his career -- be it as a
homework assignment or just to kill time on a rainy weekend.

All these points are moot anyway -- it is very likely that the
people manipulating millions of tiny string needs a completely
different library than the huge-document-in-memory crowd. For
obvious reason, there is no one-size-fits-all solution.

robert
May 5 '06 #255
Maybe I'm just too slow, too kind-hearted, too patient, or I gave
Jacob Navier too much credit because he backs up his ideas about
what C should look like by having written an actual piece of
softwar that implements his views. But the following exchange
that just took place convinced me that Jacob Navier is indeed a
full-blown, pathological fuckwit:

-----

JN:
It just makes NO SENSE. The same thing when you apply the addition
operator to dates: it makes NO SENSE to ADD dates.

RT:
mid_date = (start_date + end_date) / 2;

JN:
You obviously meant:
mid_date = (end_date - start_date)/2

RT:
No I didn't. That is something completely different.
(end_date - start_date) / 2 would give me half the interval
between the dates, but that is not what I wanted. I wanted the
average of the dates, which is a date.

JT:
Ahh ok, you mean then
mid_date = startdate + (end_date-start_date)/2

-----

robert
May 5 '06 #256
On 2006-05-05, Robert Latest <bo*******@yaho o.com> wrote:
But the following exchange
that just took place convinced me that Jacob Navier is indeed a
full-blown, pathological fuckwit:


Actually I think I did do Jacob injustice here because the
expressions

(start_date + end_date) / 2 (1)

and

start_date + (end_date - start_date) / 2 (2)

are indeed not equivalent if the date type behaves like a pointer
type in C, as it should. (1) is invalid, (2) is valid, as can be
demonstrated by trying to compile this program:

-----
int main(void)
{
char array[100];
char *s, *e, *m;

s = array;
e = array + sizeof array;

m = (s + e) / 2;

m = s + (e - s) / 2;

return 0;
}
----

I apologize.

robert
May 5 '06 #257
On 2006-05-05, REH <me@you.com> wrote:

"Ben C" <sp******@spam. eggs> wrote in message
news:sl******** *************@b owser.marioworl d...
On 2006-05-05, REH <me@you.com> wrote:

"Ben C" <sp******@spam. eggs> wrote in message
news:sl******** *************@b owser.marioworl d...
Yes I know. But you do get constructors, destructors and references, so
you can fit explicit memory management "under the hood" of operator
overloading.

I can understood people's dislike of references (though I don't agree
with
the reasons), but what is wrong with constructors and destructors?


Nothing, I like constructors and destructors.


Then I have completely misunderstood your point, which wouldn't be a first
for me.


The original point was just that if you want the "full power" of
operator-overloading, combined with manual memory management, you also
need constructors, destructors and references. Or something like them.

That's all. Whether C should be extended with any or all of:

1. operator overloading
2. references
3. constructors and destructors

is a matter of opinion.
May 5 '06 #258
In article <_Z************ ********@comcas t.com>,
Joe Wright <jo********@com cast.net> wrote:
Adding date values is nonsense.


Why? The averaging example I gave shows a perfectly clear use of it.

It might be nonsense to claim that adding date values gives you a
date, but that's not what I said.

Another analogy: I have heard it claimed that adding celsius
temperatures is nonsense, yet people do it all the time when averaging
temperatures.

-- Richard
May 5 '06 #259
In article <sl************ **********@loca lhost.localdoma in>,
Robert Latest <bo*******@yaho o.com> wrote:
Actually I think I did do Jacob injustice here because the
expressions

(start_date + end_date) / 2 (1)

and

start_date + (end_date - start_date) / 2 (2)

are indeed not equivalent if the date type behaves like a pointer
type in C, as it should. (1) is invalid, (2) is valid


Yes, of course. My objection is not to date (or pointer) addition
being disallowed, it's to the claim that it's *meaningless*. The
second expression above is a workaround for the fact that the first
one is illegal, but the fact that one can come up with a workaround
proves that the original wasn't meaningless. If it didn't mean
anything, you couldn't come up with an alternative to express the same
thing!

-- Richard
May 5 '06 #260

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

Similar topics

65
5406
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
10759
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
1902
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
6636
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
6214
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
4541
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
9696
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10584
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
10644
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
10289
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
7014
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
5681
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...
1
4482
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4062
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3131
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.