From shenkin@still3.chem.columbia.edu  Thu Jul 24 16:19:48 1997
Received: from mailrelay1.cc.columbia.edu  for shenkin@still3.chem.columbia.edu
	by www.ccl.net (8.8.3/950822.1) id PAA28011; Thu, 24 Jul 1997 15:48:51 -0400 (EDT)
Received: from still3.chem.columbia.edu (still3.chem.columbia.edu [128.59.112.36])
	by mailrelay1.cc.columbia.edu (8.8.5/8.8.5) with SMTP id PAA14024
	for <@smtp.columbia.edu:CHEMISTRY@www.ccl.net>; Thu, 24 Jul 1997 15:48:50 -0400 (EDT)
Received: by still3.chem.columbia.edu (950413.SGI.8.6.12/930416.SGI.AUTO)
	for CHEMISTRY@www.ccl.net id PAA14630; Thu, 24 Jul 1997 15:48:49 -0400
From: "Peter Shenkin" <shenkin@still3.chem.columbia.edu>
Message-Id: <9707241548.ZM14628@still3.chem.columbia.edu>
Date: Thu, 24 Jul 1997 15:48:49 -0400
In-Reply-To: "Smith JA (Jack)" <SMITHJA@ucarb.com>
        "RE: Object-oriented means for computational chemist" (Jul 24,  2:27pm)
References: <F39846429B9CD011ADDD00805FFEC4B4096802@SCTMS03>
X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail)
To: "'CHEMISTRY@www.ccl.net'" <CHEMISTRY@www.ccl.net>
Subject: Re: Object-oriented means for computational chemist
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii


On Jul 24,  2:27pm, Smith JA (Jack) wrote:
> Peter Shenkin[SMTP:shenkin@still3.chem.columbia.edu] wrote:
> >All this is true.  However, there's another side to the coin.  Using
> >non-OO languages, like C and Fortran, one can assemble abstracted and
> >encapsulated libraries that can be called from a wide variety of
> >languages: C, C++, F77, F90, ....  It's true that you don't get
> >inheritance if you do this.
> >
> >On the other hand, using C++, it's not possible to write a
> >general-purpose library callable from other languages...
> >Or so I'm told by those more conversant in C++ than I.

> And now we're back to the mixed language debate 

> I find little problem with
> maintaining the overall system architecture and handling the user
> interface with a good application C++ class library, writing reusable
> non-computational 'modules' in plain C, and making use of (and even
> extending) existing FORTRAN libraries and program segments for the bulk
> of the computational work.

Your point is well taken, and I don't disagree.  On the other hand,
that's not quite the issue I was trying to raise.

The issue I was trying to raise is that regardless of whether one
wants to write the front end in C, C++ or Fortran, or anything else,
the language definition of C++ *precludes* writing a linkable code 
libraries in C++ if one ever wants to access the library routines 
from another language.  This is really too bad, because, whether 
it's optimal right now or not, OO techniques, including inheritance, 
are not inherently ill-suited for efficient computational methods and
even offer some advantages.  I'd love to be able to write some of these
underlying libraries in C++, but right now I cannot, because I
don't feel that I can tie the *users* of the libraries -- who may
not be limited to me -- to C++ exclusively.

	-P.


-- 
**** "Deep Blue can't triumph in the game of life." (NY Times, 5/13/97) ***
* Peter S. Shenkin; Chemistry, Columbia U.; 3000 Broadway, Mail Code 3153 *
** NY, NY  10027;  shenkin@columbia.edu;  (212)854-5143;  FAX: 678-9039 ***
*MacroModel WWW page: http://www.columbia.edu/cu/chemistry/mmod/mmod.html *

