473,839 Members | 1,468 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 11904
Ben Pfaff a écrit :
jacob navia <ja***@jacob.re mcomp.fr> writes:

Ben Pfaff a icrit :
we******@gma il.com writes:
You are saying you should throw out an entire language because you
don't like the way it handles strings?

It depends on your priorities. I wouldn't want to rewrite a Perl
program that does complex string processing in C. It's going to
get a lot longer and possibly harder to read (depending on how
much taste the Perl programmer had).


You mean then in substance:

"Since C strings are completely screwed up, do NOT try to change that,
but learn Perl".

No. I mean that some string operations can be expressed shorter
and with more clarity in Perl than in C. No new string library
will change this.

If you want to actually change the C language to improve its
string support, as you seem to want, that's completely separate.
But your changes to C won't affect my software for 10 years or
more, because that's at least how long it'll take for them to get
into the standard (assuming they ever do) and then make it into
a wide range of real-world implementations .


OK, that seems more balanced.

Thanks
May 1 '06 #121
Mark McIntyre a écrit :
On Mon, 01 May 2006 21:52:08 +0200, in comp.lang.c , jacob navia
<ja***@jacob.re mcomp.fr> wrote:

Ben Pfaff a écrit :
we******@gma il.com writes:

You are saying you should throw out an entire language because you
don't like the way it handles strings?
It depends on your priorities. I wouldn't want to rewrite a Perl
program that does complex string processing in C. It's going to
get a lot longer and possibly harder to read (depending on how
much taste the Perl programmer had).


You mean then in substance:

"Since C strings are completely screwed up, do NOT try to change that,
but learn Perl".

More accurately
"C has no native string type, if you find you need to excessively
manipulate strings, perl may suit your needs better".

Of course, feel free to stick with your highly pejorative version.


But if you agree that C has a extremely weak string type Mark, why
wouldn't a revision of that part of the language be a good thing?

I wouldn't say that C "has no string type". Strings in C were a mere
afterthought and they are inefficient and very error prone. Granted.

But they do exist and they do get used, very often with catastrophic
results.

Why not change/improve this part of the language then?

jacob
May 1 '06 #122
On Mon, 1 May 2006 19:22:35 UTC, we******@gmail. com wrote:
Herbert Rosenau wrote:
On Sat, 29 Apr 2006 12:18:12 UTC, jacob navia <ja***@jacob.re mcomp.fr>
wrote:
The problem is that instead of getting away from strings as zero
terminated array of characters they STILL hang to it. THEN all functions
must be explicitely be given the length of the strings/buffers/etc even
if it is immediately obvious that the programmer can't know in all cases
what that dammed length is nor should he care!

typedef struct _string {
size_t length;
char *Stringdata
} String;
When you needs a string that knows its length you should use pascal.
It does this by design.


You are saying you should throw out an entire language because you
don't like the way it handles strings?


No, but when a twit like jacob gets whining that the C standard has to
change to fullify his wishes then I send him to another language that
fullifys that.
Are you aware that many Pascal
implementations have strings limited to a length of 255 characters?
I know. But is uninteresting here.
There are somewhat easier, and less retarded solutions to this problem:

http://bstring.sf.net/


Does not matter. I've written such extension myself for a special use
while in the same program beside that was massive handling of standard
C strings.

--
Tschau/Bye
Herbert

Visit http://www.ecomstation.de the home of german eComStation
eComStation 1.2 Deutsch ist da!
May 1 '06 #123
On Mon, 1 May 2006 20:27:36 UTC, jacob navia <ja***@jacob.re mcomp.fr>
wrote:

But if you agree that C has a extremely weak string type Mark, why
wouldn't a revision of that part of the language be a good thing?


The only who whines that C strings are weak is the twit who names
himself as jacob navia.

--
Tschau/Bye
Herbert

Visit http://www.ecomstation.de the home of german eComStation
eComStation 1.2 Deutsch ist da!
May 1 '06 #124
Chris Hills <ch***@phaedsys .org> writes:
In article <ln************ @nuthaus.mib.or g>, Keith Thompson
<ks***@mib.or g> writes

[...]
And if you want a newsgroup that discusses C programming without
limiting itself to the ISO standard, you can always advocate the
creation of such a newsgroup.


OR even a change of use of this one


Yes, that could theoretically be done -- but I would oppose it.

I like having a group that discusses the C language as defined by the
ISO standard(s). Loosening the definition of what's topical here in
comp.lang.c would mean that there would no longer be any such group.
That would be a great loss, and I'm certain I'm not the only person
who feels that way.

comp.lang.c++ in effect tried a similar experiment some years ago. It
barely survived. As it drowned in a flood of discussions of
system-specific C++ programming, the regulars who wanted to talk about
the language itself drifted away.

--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
May 1 '06 #125
Keith Thompson a écrit :
comp.lang.c++ in effect tried a similar experiment some years ago. It
barely survived. As it drowned in a flood of discussions of
system-specific C++ programming, the regulars who wanted to talk about
the language itself drifted away.


But that's the point Keith. We want to talk ABOUT THE LANGUAGE ITSELF.

Not just the narrow definition of "The language as it was in 1989" or
"The language as specified in the C standard", but including discussions
like this discussion, that is the first in many years that touches
topics that go beyond

"I wrote i++=i++ and doesn't work...."

What are those discussions "About C"???

I am long enough here to see that those are:

Homework assignments students that get their jobs done by an always
helpful hand from comp.lang.c (in many cases).

Trivia like:
i++ = i++;
Why is my gcc telling me
undefined reference to _cos?
etc
etc

Substantive discussions about software constructions, pro/cons of
specific ways of writing in C, or discussions about the language itself
and its direction, new proposals etc, are

"beyond the scope of this group".

Everything is frozen here, like in a museum.

jacob
May 1 '06 #126
Richard Bos wrote:
jacob navia <ja***@jacob.re mcomp.fr> wrote:

Richard Bos a écrit :
Operator overloading... yeurgh. What does random_struct_x *=
random_union _y + random_integer_ z; _do_ in the first place?


int128 operator*=(int1 28 a,int128 b);

Well that should multiply a*b and assign the result to a, returning a,
I suppose. What is so weird about that?

That's not overloading. In a real C compiler, those would be int_128t's,
a normal integer type, and the normal C arithmetic operations would
apply to them.

Also *= is a unary operator, so the syntax looks clumsy.
References.. . yikes! When I want my object to change behind my back
without me even being aware of it, I'll use first-generation FORTRAN and
change the value of 3, thank you very much.


References precisely do NOT change at all. They always point to the same
object! It is NOW That pointers can be changed behind your back to point
to something else. References avoid that!

Learn to read.

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.

--
Ian Collins.
May 1 '06 #127
Ian Collins a écrit :
Richard Bos wrote:
jacob navia <ja***@jacob.re mcomp.fr> wrote:
Richard Bos a écrit :
Operator overloading... yeurgh. What does random_struct_x *=
random_unio n_y + random_integer_ z; _do_ in the first place?

int128 operator*=(int1 28 a,int128 b);

Well that should multiply a*b and assign the result to a, returning a,
I suppose. What is so weird about that?

That's not overloading. In a real C compiler, those would be int_128t's,
a normal integer type, and the normal C arithmetic operations would
apply to them.


Also *= is a unary operator, so the syntax looks clumsy.


Multiplication needs TWO operators. In C++ you have the "implicit this".
In C you don't have any implicit arguments so you need a different
prototype.

May 1 '06 #128
we******@gmail. com wrote:
Spoon wrote:
Paul Hsieh wrote:
Well, there is also no group for discussing the *practice*
of C programming,


If your OS conforms to POSIX, then you can discuss it in
comp.unix.pro grammer

What has UNIX got to do with anything? The number of people who
mistakenly think they can post here with gcc or Visual C questions is
pretty staggering.

If your OS is Linux, then also try comp.os.linux.d evelopment.apps

I don't get you train of thought -- these are newsgroups about
operating systems, not C.

Look at the names, they include 'programmer' or 'development', so they
are valid places to discuss the main programming language used in those
environments, C.

--
Ian Collins.
May 1 '06 #129
Ian Collins a écrit :

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.

lcc-win32 will COPY the argument into the stack ALWAYS when the function
prototype specifies a structure passed by value.

typedef struct {int a; int b;} Struct;

Struct someGlobal;

void fn(Struct);

int main(void)
{
Struct &a = someGlobal;

fn(a);
...
}

The call to fn(a) will provoke a dereferencing of a, and a copy of the
result of that dereferencing into the stack.

This means that even if you do NOT have any "const" declaration the
prototype specifications are ALWAYS followed.

This makes for clearer software. Otherwise you can effectively never
know if a function will change its argument!

jacob
May 1 '06 #130

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
10760
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
9854
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
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...
0
10290
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
9425
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...
1
7827
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5865
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
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
4063
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.