Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-spam!ames!lll-lcc!well!pokey From: pokey@well.UUCP (Jef Poskanzer) Newsgroups: comp.lang.misc Subject: Re: Discussions of languages (Was: Re: Modern langauges) Message-ID: <5082@well.UUCP> Date: 26 Jan 88 21:32:10 GMT References: <1416@sugar.UUCP> Organization: Paratheo-Anametamystikhood Of Eris Esoteric, Ada Lovelace Cabal Lines: 30 In the referenced message, peter@sugar.UUCP (Peter da Silva) wrote: } Could microEmacs have been written in (say) Fortran and }still have as much performance and portability? Of course. Don't be silly. In 1980 I wrote a non-extensible EMACS clone in Ratfor. Performance was pretty good, considering it was originally running on a Modcomp -- ~0.1 sec to update the screen. Almost as soon as I got it working, I ported it to VMS and Unix with no problems at all. A few years later I ported it to TOPS-20 in only two days, and that included getting the Software Tools bootstrapped. The reason it was so easily ported is that I used modular design / information hiding. It was structured as a collection of library packages, each depending on lower-level packages. For instance, at the lowest level of the I/O tree was a simple raw character I/O package. On top of that I layered a cursor-control package (which also used a termcap-file-reading package), and using the cursor-control package I wrote an optimal screen-update package. Porting that entire tree to a new OS meant re-writing three routines in the raw I/O package. Buffer management was handled similarly, so that only the lowest level was machine-dependent. A language that enforces information hiding is nice -- it gives an added sense of security -- but it's not necessary. Languages don't make good programs, good programmers make good programs. --- Jef Jef Poskanzer jef@lbl-rtsg.arpa ...well!pokey When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.