[net.lang.ada] Multi-language systems

sasaki@harvard.ARPA (Marty Sasaki) (03/18/85)

> I have had the distinctly unpleasant experience of trying to fix a DEC
> internal system which was written in OPS5, but fired up tasks written in
> 
> 	o	BASIC
> 	o	BLISS
> 	o	COBOL(!)
> 
> Anyone acting in the role of program doctor would have done what I did.
> I prescribed euthinasia.

Why can't systems be written in multiple languages? Why can't you just
plug in the "correct" language for a certain part of a system? Is the
problem just the data-representation problem? Or is it more deeply
involved? Maybe the paradigms are sufficiently different in each
language that no human could be expert enough to handle more than one
language?

This seems like a problem that AI could solve. Programs, like the
various "programming apprentice" systems could do the mapping from one
data-representation to another. The paradigms are difficult, but work
has been done here too, hasn't it? (I really don't know since my main
interest is more software engineering rather than AI.)

DEC has gone through a lot of trouble to provide good compilers for the
various languages, why can't we take advantage of it?
-- 
-------------------------------------------------------------------------
  Marty Sasaki				net:   sasaki@harvard.{arpa,uucp}
  Havard University Science Center	phone: 617-495-1270
  One Oxford Street
  Cambridge, MA 02138

slack@wxlvax.UUCP (Tom Slack) (03/20/85)

> > I have had the distinctly unpleasant experience of trying to fix a DEC
> > internal system which was written in OPS5, but fired up tasks written in
> > 
> > 	o	BASIC
> > 	o	BLISS
> > 	o	COBOL(!)
> > 
> > Anyone acting in the role of program doctor would have done what I did.
> > I prescribed euthinasia.
> 
> Why can't systems be written in multiple languages? Why can't you just
> plug in the "correct" language for a certain part of a system? Is the
> problem just the data-representation problem? Or is it more deeply
> involved? Maybe the paradigms are sufficiently different in each
> language that no human could be expert enough to handle more than one
> language?
> 
I strongly disagree with the first author.
Until programming languages get out of their own shells (no pun intended),
we will never have reasonably reusable software.
This is one of the reasons that UNIX pipes were invented.
I have recently (three years ago) gone through the process
of moving a LISP program (which I wrote) into PASCAL
through several intermediate stages where PASCAL routines
were called by LISP.
The original program in LISP was about 500 lines.
The current PASCAL implementation is about 3000 lines.
We discovered many details of importance to the application
itself which were hidden by the LISP implementation and
became apparent only after trying to code the problem in PASCAL.

Using LISP in this manner is distictively advantageous at times.
It can also have its difficulties.

The computer industry has just gone through a shake down it
deserved because each cpu believed that it was the center of
the world (hardware wise).
Personal computers are changing all that.
Unfortunately there are still people writing software
systems which want to take over the world (software wise).
Tom Slack
ittvax!wxlvax!slack