[comp.lang.c] Inlining -- what happened to the inline keyword

lupton@uhccux.uhcc.hawaii.edu (Robert Lupton) (09/09/89)

In the distant past (1984?) I thought, from reading this newsgroup,
that the keyword `inline' was being proposed for ANSI C, to declare
that a function should be expanded inline. When I got back on the net
in 1987 or so it had dissapeared, and I've been wondering ever since 
why it was killed. Ditto with comments to end of line // this is a comment

Both have prior art (in C++), so that can't have been the reason. Can
anyone (I hope not many more than one) enlighten me?

		Robert

gwyn@smoke.BRL.MIL (Doug Gwyn) (09/09/89)

In article <4783@uhccux.uhcc.hawaii.edu> lupton@uhccux.uhcc.hawaii.edu (Robert Lupton) writes:
>... I've been wondering ever since why it was killed. Ditto with
>comments to end of line // this is a comment

Literally thousands of suggestions for such "improvements" were received
by X3J11.  Unless such a proposal could be shown to address a clear
deficiency in the base document, it stood little chance of being adopted,
because the charter of X3J11 was not to invent a new language based
loosely on C, but to standardize the existing language.

Many occurrences of functions can be "in-lined" by a sufficiently clever
compiler as a permitted optimization.

bright@Data-IO.COM (Walter Bright) (09/12/89)

In article <4783@uhccux.uhcc.hawaii.edu> lupton@uhccux.uhcc.hawaii.edu (Robert Lupton) writes:
<I thought that the keyword `inline' was being proposed for ANSI C, to declare
<that a function should be expanded inline. I've been wondering ever since 
<why it was killed. Ditto with comments to end of line // this is a comment
<Both have prior art (in C++), so that can't have been the reason. Can
<anyone (I hope not many more than one) enlighten me?

I don't know the specifics, but I do know that once you start tossing in
C++ features, at what point do you stop? Why not toss them all in, and
simply redefine C as C++?

C is a mature language, and standardizing it at this time is appropriate.
C++ is still rapidly evolving (though I hope that C++ 2.0 will be a stable
and mature version for some time).

C is now mature, standard, and therefore obsolete. C++ is where the future
of C is, and it's where the action is. I don't say this because I sell
a C++ compiler, I sell a C++ compiler because I believe this to be true!

gwyn@smoke.BRL.MIL (Doug Gwyn) (09/12/89)

In article <2121@dataio.Data-IO.COM> bright@dataio.Data-IO.COM (Walter Bright) writes:
>C is now mature, standard, and therefore obsolete.

I generally agreed with your comments, except "therefore obsolete".
There are some gaps in the chain of reasoning that I am unable to supply.

117VAC, 60Hz in the USA is mature and standard, but by no means obsolete.

bright@Data-IO.COM (Walter Bright) (09/14/89)

In article <11032@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn) writes:
<In article <2121@dataio.Data-IO.COM> bright@dataio.Data-IO.COM (Walter Bright) writes:
<<C is now mature, standard, and therefore obsolete.
<I generally agreed with your comments, except "therefore obsolete".
<There are some gaps in the chain of reasoning that I am unable to supply.

Perhaps an analogy would help. As anyone who works on jet fighter aircraft
design knows, as soon as you freeze the design in order to put the plane
into production, it is obsolete. The reason is that the design stands still,
while technological progress moves forward continuously.

The same goes for a computer language. Once you freeze the spec, it becomes
steadily obsolete, because there is continuous progress in both compiler
technology and programming techniques. As evidence of this, look at
languages that have been standardized in the past, and the weaknesses that
have subsequently been discovered in them. New languages are invented to
take advantage of new computer hardware, new compilation techniques,
and new programming styles/techniques.

<117VAC, 60Hz in the USA is mature and standard, but by no means obsolete.

I don't know much about power transmission, but are you so sure it's not
obsolete? Given today's technology, wouldn't some other voltage or frequency
be more efficient? I know that the inertia of existing equipment is too
vast to contemplate changing this, but that doesn't not make it obsolete.

TV transmission format was high tech in 1950, but is now hopelessly obsolete.
Backwards compatibility is a major problem for proponents of HDTV. But I
do hope that the HDTV people plan a way for an HDTV++ when they settle
on a standard!

devine@shodha.dec.com (Bob Devine) (09/15/89)

In article <2127@dataio.Data-IO.COM>, bright@Data-IO.COM (Walter Bright) writes:
> <<C is now mature, standard, and therefore obsolete.
> 
> Perhaps an analogy would help. As anyone who works on jet fighter aircraft
> design knows, as soon as you freeze the design in order to put the plane
> into production, it is obsolete. The reason is that the design stands still,
> while technological progress moves forward continuously.

  This is a strange use of the word "obsolete".  While I would agree
that a static product may be on a path towards obsolescence, such a
path may be very long.

  The key question is if C is still useful (ie non-obsolete) in its
standardized form.  I think it is.  In fact, it may be more so now
that I won't have to #ifdef the disparate chunks of code between
different systems that proport to support C.

Bob Devine

bill@twwells.com (T. William Wells) (09/15/89)

Can we stop this boneheaded discussion of "obsolete"? The word means
"not current" or "no longer in use". A running program is, by
definition, current and in use. It is therefore not obsolete.

People are using "obsolete" as if it meant "not on the cutting edge
of technology". It means nothing of the sort.

It is obvious and trite that anything that is standing still is
not on the cutting edge.

So what?

---
Bill                    { uunet | novavax | ankh | sunvice } !twwells!bill
bill@twwells.com

mdfreed@ziebmef.mef.org (Mark Freedman) (09/15/89)

In article <11032@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn) writes:
>In article <2121@dataio.Data-IO.COM> bright@dataio.Data-IO.COM (Walter Bright) writes:
>>C is now mature, standard, and therefore obsolete.
>
>I generally agreed with your comments, except "therefore obsolete".
>There are some gaps in the chain of reasoning that I am unable to supply.
>
>117VAC, 60Hz in the USA is mature and standard, but by no means obsolete.



   Bravo !!!!!

   (sorry for the bandwidth usage, but that was an EXCELLENT reply)