3 C99 questions

R

Robert Gamble

Chris said:
It's all very well bringing C++ back into line with C99 but no one is
using C99. As has been noted here there are many compilers supporting
parts of C99 but none fully.

C99 was ahead of its time and didn't include the things that were most
important to the user base and this has resulted in a lackluster
reception. I don't think this means that it is destined for failure
though. A number of implementations support much of C99, a couple
reportedly implement it fully, and one of the most popular compilers
support almost all of the Standard. Progress is being made and I
believe such progress will continue to the point where C99 is at least
as common as its predecessor, it will just take longer than one might
have hoped. There are a number of things helping to push C99 into the
mainstream (continued compiler support however slow in coming, good
books that focus on C99, POSIX requiring C99, etc.) and the steps being
taken by the C++ committee are just another boost to the process. I
think that the key to the success of the C language Standard rests with
the next release. If it continues in the direction of C99 (massive
changes, most of which aren't in step with the base) then the Standard
could easily lose its relevance in the industry. If however the
committe is conservative with the changes made and focuses on the
things that matter most to the majority of its constituency it could
serve as a major driving force to implement the new version making it
worthwhile to implement the changes introduced with C99 in the process.
In the embedded world the majority are stuck around C95
Gnu does it's own thing with GNU C extensions....

SO it appears that the worlds C compilers are C95+ extensions, some for
hardware and some are Gnu and some are C99.

The majority of compilers either support C95, C99 or both. Virtually
all compilers support their own extensions which is a good thing, these
extensions act as a testing ground for new features to be considered in
future versions of the Standard. With all of its extensions, the GNU
compiler still supports vanilla C89, C95, and to a large extent C99. I
don't really see the market as fractured and as I hinted above, I think
the next version of the Standard has the potential to rally the
community around a single language version.

Robert Gamble
 
D

Dave Vandervies

The EDG front end is bug-for-bug compatible with GNU C, to the
extent that you can compile the Linux kernel with it. ICC
uses this front end, as do quite a number of other complers.

The Comeau compiler is one of them, isn't it? I seem to recall that
they claim to support GNUC as well.


dave
 
C

carlos

 I don't really see the market as fractured and as I hinted above, I think
the next version of the Standard has the potential to rally the
community around a single language version.

Would it make tactical sense to include objects and hierarchical
visibility
(modules) in the next (2010?) standard? [Not necessarily C++ "objects"
--
I like Objective-C extensions better; too bad it lacked a salesman]
Then IMO C++ would not be so important as "the wrapper" for new
projects. It would remain as just another extension of C and new
projects could pick & chose. Java and C# would still have
their corner of the OO market.
 
D

Dave Vandervies

Would it make tactical sense to include objects and hierarchical
visibility
(modules) in the next (2010?) standard?

I hope not.

If you want any of Java, Objective-C, C++, Smalltalk, or Python (or any
of the undoubtedly many others), you already know where to find them.


dave
 
P

P.J. Plauger

C99 was ahead of its time and didn't include the things that were most
important to the user base and this has resulted in a lackluster
reception. I don't think this means that it is destined for failure
though. A number of implementations support much of C99, a couple
reportedly implement it fully, and one of the most popular compilers
support almost all of the Standard. Progress is being made and I
believe such progress will continue to the point where C99 is at least
as common as its predecessor, it will just take longer than one might
have hoped. There are a number of things helping to push C99 into the
mainstream (continued compiler support however slow in coming, good
books that focus on C99, POSIX requiring C99, etc.) and the steps being
taken by the C++ committee are just another boost to the process. I
think that the key to the success of the C language Standard rests with
the next release. If it continues in the direction of C99 (massive
changes, most of which aren't in step with the base) then the Standard
could easily lose its relevance in the industry. If however the
committe is conservative with the changes made and focuses on the
things that matter most to the majority of its constituency it could
serve as a major driving force to implement the new version making it
worthwhile to implement the changes introduced with C99 in the process.

The C committee is *very* conservative in this regard. It
isn't even working on a successor to C99 at the moment.
Instead, it asked ISO to reaffirm C99 at its five-year
review last year.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
 
R

Robert Gamble

P.J. Plauger said:
The C committee is *very* conservative in this regard. It
isn't even working on a successor to C99 at the moment.
Instead, it asked ISO to reaffirm C99 at its five-year
review last year.

That is good to hear. I hope that the conservative atitude continues
when the committee does start working on a new version of the Standard.

Robert Gamble
 
K

Keith Thompson

P.J. Plauger said:
No, it had C95 as its original root (C++98) and now has picked
up most of C99 through its TR1 and other changes to C++0X.

And if a new C++ standard picks up most or all of C99, and C++
implementers feel constrained to implement the full C++ standard,
perhaps that will make it easier to implement full C99 compilers.
 
R

Robert Gamble

?I don't really see the market as fractured and as I hinted above, I think
the next version of the Standard has the potential to rally the
community around a single language version.

Would it make tactical sense to include objects and hierarchical
visibility
(modules) in the next (2010?) standard? [Not necessarily C++ "objects"

If the objective is to kill off C then yes, this would probably be a
good tactic. This would be an example of "massive changes that aren't
in step with the user base" that I cite as the main reason C99 is slow
to gain ground. Additionally, unlike many of features introduced in
C99, I don't think that these ideas would ever gain wide acceptance by
the C community. There are plenty of other concerns that the majority
of developers would rather see addressed in a future release that would
not be as much of a shock to the language as what you are suggesting,
addressing these concerns would be a tactical advantage to the wider
acceptance of a revised Standard.

Robert Gamble
 
M

Marc Boyer

Le 17-11-2005 said:
Is there any book (not manual) in print that covers the C99 standard?

What is, to you, the difference between 'book' and 'manual' ?
If C++ and C99 are incompatible, how would that be solved?

I think it won't.
To have a list of main difference between C99 and C++,
you could have a look at "C: A reference manual" by
Harbison and Steele.
To known why C++ has choosen to break the compatibility,
you should havce a look on "Design and evolutions of
the C++ langage", from Bjarne Stroustrup.

Marc Boyer
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
474,145
Messages
2,570,826
Members
47,371
Latest member
Brkaa

Latest Threads

Top