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
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.
"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
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
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
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 \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
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)
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 \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
"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
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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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:
...
|
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...
|
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,...
|
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...
|
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...
| |
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();...
|
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...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
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...
| |