473,770 Members | 4,029 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Why the C committee doesn't provide an implementation when the standard is published?

Why the C standard committee doesn't provide a standard implementation
including the C compiler and library when the language standard
document is published?

C works on the abstract model of low level machine. C stands for
portability and platform and machine independent. If the C compiler and
C standard library are written in C itself, is it possible that one
"standard" C compiler plus library is enough? The standard
implementation is published by the international standard committee. Is
it to hurried for the committee to do it? Does the committee take no
responsibility for publishing a standard implementation when release
the paper language document?

The standard implementation will never stop various non-standard
implementations from being produced by individual person or
organization. If all the programmers can have the standard
implementation as soon as the language standard is released, then all
programs can be written following the standard freely and strictly.
--
lovecreatesbeau ty

Jun 9 '06
52 3788
On 8 Jun 2006 20:40:08 -0700, in comp.lang.c , "lovecreatesbea uty"
<lo************ ***@gmail.com> wrote:
Why the C standard committee doesn't provide a standard implementation
including the C compiler and library when the language standard
document is published?


Why doesn't the government build a car once they publish emission
laws? Why doesn't the FA own football clubs, once it publishes the
rules? Why don't business analysts develop software, once they've
written the spec?

Answer: the task of definiing how to do something, and the task of
building it, are rightly separate jobs.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Jun 9 '06 #21
jjf

Chris Hills wrote:
In article <11************ **********@i40g 2000cwc.googleg roups.com>,
jj*@bcs.org.uk writes

lovecreatesbea uty wrote:
Gordon Burditt wrote:
> >The standard
> >implementati on is published by the international standard committee. Is
> >it to hurried for the committee to do it? Does the committee take no
> >responsibili ty for publishing a standard implementation when release
> >the paper language document?
> No. Do the people who write building codes build buildings?

It is the fact for C language that the standard committee published
100% standard compliant paper document. 10 years later, there is no
100% standard compliant compiler.


Nonsense. There are many C compilers which are 100% compliant to the C
Standards from 1996 and earlier.


They are Obsolete standards. The compilers are NOT C compliant as
defined by ISO. Ie ISO9899:1999 (any other version of ISO9899 is
OBSOLETE)


Agreed. So what? As quoted above, I was responding to the OP's claim
that there are no C compilers which are 100% compliant to the C
Standards as they were 10 years ago.
Is it / standard not important?


It is important.


Why?


Because people who want to write portable code need a standard to do
so, and clearly need compilers which implement that standard. The fact
that C90 and C95 are no longer ISO Standards is not relevant to
anything in the real world. They are very well defined ex-standards
which many compilers implement fully and correctly (and they conformed
to the Standards for as long as those Standards existed, and still
would if the Standards were magically to come back into existence).

The fact that earlier Standards become non-Standard and obsolete when a
new version is published is one of the bigger sillinesses of the ISO
process. The real world almost invariably lags the ISO process in
conformance terms, often by many years. There's no real reason why
compilers couldn't continue to claim formal compliance to the C90
Standard (say) instead of the current theoretical (and silly, and
ignored) situation that all C compilers stopped being Standard C
compilers the moment C99 was published.

Few (if any) Standard C compilers (as formally interpreted by ISO) now
exist, and it looks rather like few ever will unless the C committee
comes to its senses. "Standard C" does exist in the real world,
however, and is defined in terms of conformance to C90, C95, or
whatever.

Jun 10 '06 #22
"Chris Hills" <ch***@phaedsys .org> wrote in message
news:8B******** ******@phaedsys .demon.co.uk...
You have the problem that on the desktop most(?) users use MS compilers.
MS have stopped doing C and do C++.
But they still offer a compiler used by millions of C programmers.
BTW There is no such language as C/C++.
Then why does Google give me 61 million hits on C/C++? You're the
one who keeps invoking the real world...
C++ was developed from C90 and
diverged one way whilst C went a different way 95 and C99.
Perhaps, but Standard C++ is based on C95. And the next revison of C++
(aka C++0X) has already adopted the *entire* C99 preprocessor, the
*entire* C99 library, and quite a number of C99 language features.
Posix also now requires C99. Maybe the way isn't all that different
in the end.
So C written
in a C++ compiler is not C.
Right, as is often pointed out in the heated subset/superset debates
that erupt spontaneously from time to time. But they're demonstrably
fellow travelers.
Most(?) desktop users of C actually use a [MS]C++ compiler and MS has
taken this off on their own direction
Well, yes, but they seem to have gotten religion about standards
conformance lately. They haven't done export for C++ yet (because
it's damned hard and next to nobody is asking for it) but they have
yet to proclaim they *aren't* going to do it. Similarly, they have
quite good conformance to C90 and C95, and haven't done C99 (because
once again it takes a lot of work and next to nobody is asking for it).
added to which there is a lot of
use of Java, C# etc and other languages. So there is a lot less interest
in the desktop community to chase the ISO C99 standard that there used
to be when the industry wanted a common specification for the language
and C++ had not arrived.

The embedded community, probably the largest C community there is, is
sticking with C90/5 and not following C99. Most of the embedded world
still use 8 and 16 bit MCU's and most of the embedded standards relate
to C90 anyway.
Mostly true, except for the compiler vendors (desktop and embedded) who
use the EDG front end and Dinkumware libraries, who get full C99 and C++
compliance for free. They don't brag about it because, as mentioned above,
it ain't a selling point.
GNU follows it's own path, though is does have a C90 mode and I think
they are "working towards" C99, but slowly.

In short no one really needed the new features of C99. Some it is
claimed are broken anyway. The maths model for example.
There are many claims about various features of C and C++, with
dubious "real world" justification. Works for me.
The UK C panel has got a bad reputation over the last few years for
saying "NO!" to adding anything to C99 before fixing some of the major
problems in the standard.
No, they've got a bad reputation for saying NO! to damn near everything,
including things they once promised to support. *Nothing* normative has
been added to Standard C since C99 and nothing of that sort is currently
planned. Where's the beef?
In fact there was a suggestion that we Should
go back to C95 and start again! However this has been ignored.
"Considered briefly and properly rejected" is how I'd characterize it.
So in my view (and others on the panel but I will let them speak for
themselves) There is a LOT of DR (defect report) work to be done on C99
before we add anything new to C99.
Probably true, and you should note that the C committee is cooperating
in this approach by working diligently on DRs and not starting a revision
of C99. Where's the beef?
However other panels want to add lots of new things. "Building on
quicksand" as one C panel member said to me. So in my view C99 will
continue to wander off into the wilderness.

ECMA is doing it's own thing with C++
ECMA has standardized an extension to C++ that's highly compatible with
Standard C++, if that's what you mean.
and you are likely to find that
the ISO C++ also goes off into the wilderness in the next few years just
like ISO BASIC.
Could be, but there seem to be people actively implementing what the
C++ committee is standardizing. And in our (Dinkumware's) experience,
there seems to be at least some market for the major additions. The
wilderness isn't empty.
Somewhere along the line ISO C and C++ have lost their way and I am not
sure how to get them back.


Could also be, but if so neither you nor I will "get them back" just
by advancing our own notions of where "back" might be.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Jun 10 '06 #23


Chris Hills wrote:

<snip>
In short no one really needed the new features of C99.


I disagree and I am a bit confused why people are so unhappy about the
C99 standard. I am no expert and I recognise that when people like
Richard Heathfield are not convinced that C99 is any good I should not
either. Also, it is mentioned that some parts may even be broken.
Nevertheless, features like mixed declarations and code, isnan, isinf,
__func__ , variable-length arrays, etc is really nice and in my opinion
very very useful.

The C community is extremely large and every programmer has their own
opinion about how things should be done. Maybe people are even a bit
affectionate about the language and do not wish to see it ruined or
moved in a direction that they do not want it to. But if no one makes
any compromises, no new standard will ever be adopted and the standard
C language will stop at C89.

Regards, Jesper

Jun 10 '06 #24
Jesper wrote:

Chris Hills wrote:

<snip>
In short no one really needed the new features of C99.


I disagree and I am a bit confused why people are so unhappy about the
C99 standard. I am no expert and I recognise that when people like
Richard Heathfield are not convinced that C99 is any good I should not
either. Also, it is mentioned that some parts may even be broken.
Nevertheless, features like mixed declarations and code, isnan, isinf,
__func__ , variable-length arrays, etc is really nice and in my opinion
very very useful.

The C community is extremely large and every programmer has their own
opinion about how things should be done. Maybe people are even a bit
affectionate about the language and do not wish to see it ruined or
moved in a direction that they do not want it to. But if no one makes
any compromises, no new standard will ever be adopted and the standard
C language will stop at C89.

The C community is not sufficiently large that things can 'should'.
Only persons can 'should' and Hume's is-ought gap looms as large as
ever. I've now read parts of n1124.pdf and I really don't know what to
think about the normative question. If clc solved it, they would be the
first to do so. frank
Jun 10 '06 #25
In article <11************ **********@h76g 2000cwa.googleg roups.com>,
jj*@bcs.org.uk writes

Chris Hills wrote:
In article <11************ **********@i40g 2000cwc.googleg roups.com>,
jj*@bcs.org.uk writes
>
>lovecreatesbea uty wrote:
>> Gordon Burditt wrote:
>> > >The standard
>> > >implementati on is published by the international standard committee. Is
>> > >it to hurried for the committee to do it? Does the committee take no
>> > >responsibili ty for publishing a standard implementation when release
>> > >the paper language document?
>> > No. Do the people who write building codes build buildings?
>>
>> It is the fact for C language that the standard committee published
>> 100% standard compliant paper document. 10 years later, there is no
>> 100% standard compliant compiler.
>
>Nonsense. There are many C compilers which are 100% compliant to the C
>Standards from 1996 and earlier.
They are Obsolete standards. The compilers are NOT C compliant as
defined by ISO. Ie ISO9899:1999 (any other version of ISO9899 is
OBSOLETE)


Agreed. So what? As quoted above, I was responding to the OP's claim
that there are no C compilers which are 100% compliant to the C
Standards as they were 10 years ago.
>> Is it / standard not important?
>
>It is important.


Why?


Because people who want to write portable code


I rarely see portability high on anyone's list out side C.l.c
need a standard to do
so, and clearly need compilers which implement that standard. The fact
that C90 and C95 are no longer ISO Standards is not relevant to
anything in the real world.
It is VERY relevant. In a legal sense in some areas.
They are very well defined ex-standards
which many compilers implement fully and correctly (and they conformed
to the Standards for as long as those Standards existed, and still
would if the Standards were magically to come back into existence).
This is true
The fact that earlier Standards become non-Standard and obsolete when a
new version is published is one of the bigger sillinesses of the ISO
process.
Yes and no. The new one has to supersede the old and in some cases there
are legal requirements to use the current ISO standard. ISO does a lot
more than programming languages.
The real world almost invariably lags the ISO process in
conformance terms, often by many years. There's no real reason why
compilers couldn't continue to claim formal compliance to the C90
Standard (say) instead of the current theoretical (and silly, and
ignored) situation that all C compilers stopped being Standard C
compilers the moment C99 was published.
I agree completely so I got BSI C95 reissued at a sensible price.
Unfortunately they have not run out so I am doing a deal to get the ISO
version revised at a sensible price. It is currently over 150USD
Few (if any) Standard C compilers (as formally interpreted by ISO) now
exist, and it looks rather like few ever will unless the C committee
comes to its senses.
I agree.
"Standard C" does exist in the real world,
however, and is defined in terms of conformance to C90, C95, or
whatever.


I agree, that is the reality that is the practical answer but legally
C99 is the standard and this can cause problems.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys. org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Jun 10 '06 #26
Chris Hills said:

<snip>
C99 is the standard and this can cause problems.


Gotta love selective quotation.

<g,d&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)
Jun 10 '06 #27
In article <3d************ *************** ***@giganews.co m>, P.J. Plauger
<pj*@dinkumware .com> writes
"Chris Hills" <ch***@phaedsys .org> wrote in message
news:8B******* *******@phaedsy s.demon.co.uk.. .
You have the problem that on the desktop most(?) users use MS compilers.
MS have stopped doing C and do C++.
But they still offer a compiler used by millions of C programmers.


I agree. It is THE de-facto standard on the desktop. That is my point.
Most desktop "C" programmers are in fact using a C++ compiler. As you
have pointed out recently the current crop of MS compilers are very good
and do adhere to the C++ standards.
BTW There is no such language as C/C++.


Then why does Google give me 61 million hits on C/C++? You're the
one who keeps invoking the real world...


I can also find millions of hits to show that Elvis lives, Roswell was a
fake AND that it was real aliens, That the Davinci code is ALL real and
all fake. Also that there are WMD in Iraq... Just because lots of
people believe it does not make it true.

Just because you can find millions of hits on google proves absolutely
nothing. I think it was Robert HeinLein who said "never underestimate
the power of human stupidity".

C++ was developed from C90 and
diverged one way whilst C went a different way 95 and C99.


Perhaps, but Standard C++ is based on C95.


OK and C95 != C99.
And the next revison of C++
(aka C++0X) has already adopted the *entire* C99 preprocessor, the
*entire* C99 library, and quite a number of C99 language features.
That is the *next* version of C++ BTW when is it due out?
Posix also now requires C99. Maybe the way isn't all that different
in the end.
So C written
in a C++ compiler is not C.
Right, as is often pointed out in the heated subset/superset debates
that erupt spontaneously from time to time. But they're demonstrably
fellow travelers.


Close yes but not the same.
Most(?) desktop users of C actually use a [MS]C++ compiler and MS has
taken this off on their own direction
Well, yes, but they seem to have gotten religion about standards
conformance lately.


Yes, they have put a lot of work into ECMA and as you have pointed out
become a lot more ISO compliant.
They haven't done export for C++ yet (because
it's damned hard and next to nobody is asking for it)
This is a bit of a recurring theme where no one is pushing for
compatibility with the latest standards.
but they have
yet to proclaim they *aren't* going to do it. Similarly, they have
quite good conformance to C90 and C95, and haven't done C99 (because
once again it takes a lot of work and next to nobody is asking for it).
This is where we all came in. Why does no one (very few) want C99
conformance?
added to which there is a lot of
use of Java, C# etc and other languages. So there is a lot less interest
in the desktop community to chase the ISO C99 standard that there used
to be when the industry wanted a common specification for the language
and C++ had not arrived.

The embedded community, probably the largest C community there is, is
sticking with C90/5 and not following C99. Most of the embedded world
still use 8 and 16 bit MCU's and most of the embedded standards relate
to C90 anyway.


Mostly true,


thanks :-)
except for the compiler vendors (desktop and embedded) who
use the EDG front end and Dinkumware libraries, who get full C99 and C++
compliance for free.
I know. AFAIK most of the major embedded compilers use that combination.
See http://www.edg.com & http://www.dinkumware.com I will put the
advert in for you :-)

As you say they do give C99 but.....
They don't brag about it because, as mentioned above,
it ain't a selling point.
though AFAIK not all of the embedded implimenters do a full C99 back
end.
GNU follows it's own path, though is does have a C90 mode and I think
they are "working towards" C99, but slowly.

In short no one really needed the new features of C99. Some it is
claimed are broken anyway. The maths model for example.


There are many claims about various features of C and C++, with
dubious "real world" justification. Works for me.


What works for you?

The UK C panel has got a bad reputation over the last few years for
saying "NO!" to adding anything to C99 before fixing some of the major
problems in the standard.


No, they've got a bad reputation for saying NO! to damn near everything,
including things they once promised to support.


I know. Bloody nightmare. But probably not the place to go into it in
detail.
*Nothing* normative has
been added to Standard C since C99 and nothing of that sort is currently
planned. Where's the beef?
Ask the usual suspects.... Though one or two seem to have given up and
wandered off.

In fact there was a suggestion that we Should
go back to C95 and start again! However this has been ignored.


"Considered briefly and properly rejected" is how I'd characterize it.


OK. Though you have said there are parts of C99 you wish had not been
put in.
So in my view (and others on the panel but I will let them speak for
themselves) There is a LOT of DR (defect report) work to be done on C99
before we add anything new to C99.


Probably true, and you should note that the C committee is cooperating
in this approach by working diligently on DRs and not starting a revision
of C99. Where's the beef?


They were arguing against adding any TR's or anything else until all the
DR's had been fixed. Also that is Nick's worries about the whole maths
model.
However other panels want to add lots of new things. "Building on
quicksand" as one C panel member said to me. So in my view C99 will
continue to wander off into the wilderness.

ECMA is doing it's own thing with C++


ECMA has standardized an extension to C++ that's highly compatible with
Standard C++, if that's what you mean.


:-) Let's leave that can un-opened. the last thread on it ran to
hundreds of posts and had more heat than light. I can see both sides of
the argument.
and you are likely to find that
the ISO C++ also goes off into the wilderness in the next few years just
like ISO BASIC.


Could be,
but there seem to be people actively implementing what the
C++ committee is standardizing. And in our (Dinkumware's) experience,
there seems to be at least some market for the major additions. The
wilderness isn't empty.


That's good. However as MS is the defacto standard on the desktop and
they are going ECMA C++/CLI isn't that where the vast majority of C++
users will go?
Somewhere along the line ISO C and C++ have lost their way and I am not
sure how to get them back.


Could also be, but if so neither you nor I will "get them back" just
by advancing our own notions of where "back" might be.


I think you have more influence than I do in that respect.

Chris

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys. org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Jun 10 '06 #28
"Jean-Marc Bourguet" <jm@bourguet.or g> wrote
Martin Ambuhl <ma*****@earthl ink.net> writes:
You need an extremely perverse definition of "successful " to find
any translation of the Bible that was more successful.


The Vulgate :-)

I was going to say.
There is an obsession with taking decisions in committee. The British
government works that way, so does my Catholic club. So does the Faculty of
Biological Sciences, at least for decisons such as to stop providing milk,
because of tax implications, and take awy the wastepaper bins to encourage
recycling. However my group doesn't take research decision in committee.

There was some research recently that deterimined that when people make
trivial decisions, a considered response is best. However when the decision
is complex and important, first instincts are usally right. Virtually all
politicians work like this - they instinctively know whether it is right to
cut taxes or raise them, because of ideology; they don't look at pages of
closely reasoned economic arguments about inflationary pressures, capacity,
fiscal expansion, and money M0.
--
Buy my book 12 Common Atheist Arguments (refuted)
$1.25 download or $7.20 paper, available www.lulu.com/bgy1mm
Jun 10 '06 #29
On Fri, 9 Jun 2006 22:55:38 -0400, in comp.lang.c , "P.J. Plauger"
<pj*@dinkumware .com> wrote:
Then why does Google give me 61 million hits on C/C++?
Same reason it gives me a million on "martian president" and a scary
eighteen thousand on "gonad sandwich". Google isn't a repository of
correct information. It isn't even a repository of accurate
information. Its merely a huge bucket of all the stuff ever published
on the web.
You're the one who keeps invoking the real world...


Newsflash: google isn't the real world.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Jun 10 '06 #30

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

Similar topics

29
2407
by: David Eng | last post by:
In replying to P.J. Plauger ( http://groups.google.com/groups?dq=&hl=en&lr=&ie=UTF-8&threadm=1089204435.746211%40master.nyc.kbcfp.com&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26group%3Dcomp.lang.c%252B%252B.moderated ) who responded my post in comp.long.c++ moderated neww group regarding "C++ standard and C++/CLI" topic, I worte the following post which was sensor by comp.lang.c++.moderated: ...
0
9602
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
9439
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
10237
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
10071
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
6690
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
5326
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
5467
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3589
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2832
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.