From 3942100612835341027
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,9a6b7da9ba54eaea
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1993-07-08 10:46:22 PST
Newsgroups: comp.std.c++
Path: gmd.de!xlink.net!howland.reston.ans.net!math.ohio-state.edu!usc!elroy.jpl.nasa.gov!decwrl!csus.edu!netcom.com!rfg
From: rfg@netcom.com (Ronald F. Guilmette)
Subject: Re: C++ Language Extensions
Message-ID: <rfgC9uwGA.JEI@netcom.com>
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
References: <21flho$mg@news.u.washington.edu> <rfgC9uAoB.L4D@netcom.com> <21hc1v$ati@news.u.washington.edu>
Date: Thu, 8 Jul 1993 17:26:33 GMT
Lines: 82

In article <21hc1v$ati@news.u.washington.edu> rons@hardy.u.washington.edu (Ronald Schoenberg) writes:
>
>For the issue is productivity.  I use the M++ array classes and I can
>get about 10 lines of code in C++ do what would take hundreds of lines
>of code in C.  I don't have to allocate any memory or mess with
>pointers.  Or write endless numbers of loops cycling through data
>arrays because I have overloaded operators that sift through the
>largest data sets with a single expression.  I used to write in
>Fortran, and I would estimate that my productivity has gone up
>somewhere between five and ten times by moving to C++.  I don't think
>that would happen in C.  I have on occasion worked in C, just as I am
>occasionally forced to work in Fortran (i.e., when I'm working with
>existing code), and the longer I'm in it the more dramatic becomes my
>desire to get back to my array classes.

Just to clarify, the real intent of my earlier message on this subject
(of numerical programming in C and/or C++) was to implicitly raise the
following question:  "Where were these folks who are complaining about
the lack of support for numerical programming in C++ when the NCEG was
doing its work, and preparing its recomendations?"

In other words, if you've got a serious beef with the way numerical pro-
gramming is supported in *either* C or C++, I think that you should (or
should have) taken in up with NCEG, as that seems to be the most appro-
priate group, and the most appropriate forum for the consideration of
such issues. 

(And by the way, I have some hopes that the NCEG's work will be largely
folded into the final ANSI/ISO C++ standard.)

What I've seen here recently (in the discussion regarding an exponentiation
operator) is that some advocates are trying to make the claim that serious
numerical programming is significantly hampered by the lack of such a feature.
OK.  So let's pretend for the moment that I buy that point of view.  (I don't
really, but let's ignore that for the moment.)  If it is true that serious
numeric programmers really need a built-in operator to do exponentiation,
then I would imagine that this would be true for C as well as C++.  If it
is true for C, then why the blazes didn't these advocates bring their case
for an exponentiation operator to the NCEG in the first instance rather
than trying (in the first instance) to get x3j16 to buy into this feature?

Translation:  Should x3j16 really be treated as the dumping ground for *all*
of the ideas for nifty new language features that people think they would
like to have (or think that they *need* to have)?  I hope not.  Someone
made the point earlier that numerical programmers are more than just another
niche special interest group.  As I've said, I agree with that sentiment
entirely, as do a lot of other people, including all of the members of the
NCEG.  In fact, the whole area of numerical programming is SO important
that a special, highly-focused group (i.e. the NCEG) came together to write a
set of specs to help move C towards better support for numerical programming.
(This group even went so far as to obtain an official charter from ANSI,
and the group now operates under the designation x3j11.1.)

Bottom line:  I (for one) would be content to have the *real* heavyweight
numerical programming experts in the NCEG evaluate the degree to which
an exponentiation operator is indispensible, and I would like to know
what *they* think (in the first instance) more that I would like to know
what x3j16 thinks.  Separately, I would like very much to see x3j16 fold
essentially all of the specs developed by the NCEG (whatever those turn
out to look like) into the final C++ standard.

>  I also do a lot of work using the Zortech compliler (the 3.0
>version) which does incorporate the NCEG extensions.  The M++ classes also
>incorporate the extensions.  You are correct about them - I think they
>are necessary for good numerics programming.  However, it appears you
>are incorrect about there being no C or C++ that has them. 

Quite true.  I stand corrected.  I forgot about Zortech.

(Footnote:  I know that Zortech is *claiming* to have implemented full
support for the whole range of NCEG floating-point recomendations, but
until I have a chance to beat on that particular compiler myself I'll
be a bit skeptical about this claim.  There are a lot of little subtleties
relating to the implementation of proper IEEE floating-point support in
either C or C++, especially on x86 machines, that are difficult to get
right.)

-- 

-- Ronald F. Guilmette ------------------------------------------------------
------ domain address: rfg@netcom.com ---------------------------------------
------ uucp address: ...!uunet!netcom.com!rfg -------------------------------


