🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #1034

Re: Small Language Wanted

#1034
From: Matt Kennel
Date: Fri, 21 Aug 1992 21:08
62 lines
2714 bytes
mdchaney@fractal.ucs.indiana.edu (M Darrin Chaney) writes:
: Not to fan a flame war, but indeed C++ is _excellent_ for working with
: complex numbers, etc.  And, nobody will accuse you of using an outdated
: language.

C++:  complex A, B, C;

C = A + B

{ get A and B, call "+" operator.  Create new temporary structure for
  result by calling complex constructor.  Run "+" operator. 
  call overloaded "=" operator.  Copy into C. Delete temporary.}

And can C++ optimize

for (i=1; i<1000; i++) {
	<junk not altering A and B>
	C = A + B
	<more junk not altering A and B>
	func(C)
}

by taking out C=A+B as a loop invariant?

How can it if the "+" and "=" operators could conceivably do *ANYTHING*
which might possibly alter something else somewhere else.

With enough effort no doubt, this problem could be fixed to make
code that's not much worse than Fortran-IV.  (The point is that
the algebra of complex numbers and matrices and vector operations restricts
what can happen allowing more optimization.)

In case you're wondering, yes I think that OO programming can be a
good thing, even in scientific programs, but I also believe that the
"textbook examples" of classes, i.e. complex numbers and vectors and
matrices are *too important* to do without special treatment.  If it were
possible to do these right, and still as special cases of a fully general
notion, great, but that's not here today.

: C is an excellent language for scientific stuff, and C++ even better.

Personally, I think C is an excellent language for writing Unix
utilities, and barely tolerable for scientific programs, useful only because
Fortran 77 doesn't have dynamically allocatable memory and structures.
I think that C++ really sucks. (Modula-3 and Eiffel perform that function
better, I think).

: 
: Check out the flame-war du jour in soc.college for more information on
: how Scheme "is great|sucks" compared to C which "is great|sucks".

sorry, I should contain myself....


: 	Darrin
: -- 

--
-Matt Kennel  		mbk@inls1.ucsd.edu
-Institute for Nonlinear Science, University of California, San Diego
-*** AD: Archive for nonlinear dynamics papers & programs: FTP to
-***     lyapunov.ucsd.edu, username "anonymous".
Technical Details
Message-ID: <173lvpINNiov@network.ucsd.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!ames!network.ucsd.edu!lyapunov.ucsd.edu!mbk
References: <BtCFs9.4ox@usenet.ucs.indiana.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!ames!network.ucsd.edu!lyapunov.ucsd.edu!mbk
From: mbk@lyapunov.ucsd.edu (Matt Kennel)
Newsgroups: comp.lang.misc
Subject: Re: Small Language Wanted
Date: 21 Aug 1992 21:08:09 GMT
Organization: Institute For Nonlinear Science, UCSD
Lines: 62
Message-ID: <173lvpINNiov@network.ucsd.edu>
References: <BtCFs9.4ox@usenet.ucs.indiana.edu>
NNTP-Posting-Host: lyapunov.ucsd.edu
X-Newsreader: Tin 1.1 PL3