Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site topaz.RUTGERS.EDU Path: utzoo!linus!philabs!cmcl2!seismo!columbia!topaz!sas From: sas@BBN-VAX.ARPA Newsgroups: net.works Subject: Re: Choice of Programming Language Message-ID: <3203@topaz.RUTGERS.EDU> Date: Fri, 9-Aug-85 10:00:31 EDT Article-I.D.: topaz.3203 Posted: Fri Aug 9 10:00:31 1985 Date-Received: Mon, 12-Aug-85 04:26:56 EDT Sender: daemon@topaz.RUTGERS.EDU Organization: Rutgers Univ., New Brunswick, N.J. Lines: 33 From: Seth SteinbergDon't let the mystics get you down. Porting a programming language to port an application is an excellent idea. We used it to get TK!Solver working on a number of machines. When IBM announced their PC in mid effort we just spent a week redoing the interpreter. In addition we had a very "strict" interpreter running on a mainframe which did massive error checking (e.g. Is there anything still allocated which is not being referenced? We didn't want a PC based garbage collector). The original language IL was internally very Forth-like but we slapped a LISP syntax with compile time type checking on top of it. As time went by it became less Forth-right internally and more p-code-ish and finally we just generated in-line code for the 8088 version when the IBM PC became a bit of a standard. The main thing to remember is to keep the nucleus of your language small and simple w.r.t implementation. If you choose PL/I (as we did back at MIT) choose a minimal subset which you already understand how to implement. I would recommend a LISP-like syntax since you can provide a simple compile time pseudo-LISP interpreter to do macro transformations (punt garbage collecting, allocate everything for a compilation in a big bag and throw it out at the end of the compilation) which can off load a lot of work from the compiler developers. As far as certain detractors of this methodology go, remember that 10 years ago they would have given you a hard time for choosing to use a higher level language at all and 10 years before that for using an operating system. The "real world" had to come from somewhere. Seth Steinberg SAS @ BBN-VAX