Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site zaphod.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!alberta!sask!zaphod!bobd From: bobd@zaphod.UUCP (Bob Dalgleish) Newsgroups: net.ai,net.lang.lisp Subject: Re: Re: Multi-language systems Message-ID: <212@zaphod.UUCP> Date: Wed, 20-Mar-85 19:21:01 EST Article-I.D.: zaphod.212 Posted: Wed Mar 20 19:21:01 1985 Date-Received: Sat, 23-Mar-85 01:01:29 EST References: <242@bu-cs.UUCP>, <316@cmu-cs-k.ARPA> <253@bu-cs.UUCP>, <494@harvard.ARPA> <259@bu-cs.UUCP> Organization: Develcon Electronics, Saskatoon, SK Lines: 44 Xref: watmath net.ai:2656 net.lang.lisp:413 > ... > Just as in natural language, computer languages cluster into families. > There is nothing hard about mixing FORTRAN & COBOL modules into a big > system (or FORTAN & PL/I). I've done plenty of that sort of stuff. > It's when you move across families where things break down, and > especially where you try mixing an inherently interpreted language like > LISP or SNOBOL with an inherently compiled one like FORTRAN that things > get dangerous. > > Bill Henneman My understanding is that Honeywell Multics allows/supports/encourages multiple language systems by defining data structures in parameters in a language-independent way. Thus, my neighbourhood Multics fanatic says it is easy and natural to mix LISP and PL/I (admittedly not ANSI standard). Similarly, DEC provides a common calling convention (which does not go nearly far enough - parameters are more interesting than calls). What I tell my young people (:-) is to choose "horses for courses" - use the best language for the task at hand. Medium to large projects unfortunately present a number of courses, but only one language can be used. We have attempted to disguise our single horse by using preprocessors and application generators when possible to provide more natural notation - database management and language parsing are prime candidates for this. My dream horse is one that allows me to specify what kind of course I am going to run for the next little while - the language acquires new or different capabilities to allow me to express my programs naturally. I know what happens to such bastard horses (er, languages) - they are called PL/I, LISP 2.0, Ada, etc. and they earn the undying contempt of the base language purists and the fear of those who cannot deal with having more than one way to look at a problem. The alternative is to provide an extensible language - such languages are often only trivially extensible (i.e., you still have to know the underlying language), or are so powerful as to overwhelm all but the most brave. -- [The opinions expressed here are only loosely based on the facts] Bob Dalgleish ...!alberta!sask!zaphod!bobd ihnp4! (My company has disclaimed any knowledge of me and whatever I might say)