Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!lll-winken!sun-barr!newstop!texsun!pollux!ti-csl!m2!gateley From: gateley@m2.csc.ti.com (John Gateley) Newsgroups: comp.lang.misc Subject: Re: Changes in Programming Languages Message-ID: <94882@ti-csl.csc.ti.com> Date: 18 Oct 89 19:16:16 GMT References: <26600001@hollin> Sender: news@ti-csl.csc.ti.com Reply-To: gateley@m2.UUCP (John Gateley) Organization: TI Computer Science Center, Dallas Lines: 57 In article <26600001@hollin> ds@hollin.prime.com writes: >I believe that programming languages should change little once they are in >widespread use, to encourage portability and programmer productivity. This >implies that languages should be designed carefully and "shaken out" by alpha >and beta testing prior to release as is done for most real-world software >products. This can be done formally, as was the case with Ada, or informally, >as was the case with Forth. First, the main argument against language freezing is new developements in language design. It is this tension between new developements and portability/stability which make the issue you are addressing difficult. Second, for almost all languages, there is a hurdle to surmount: user acceptance. If I went into reclusion, wrote the worlds best language, then came onto the net and said "I need alpha testers", my language is going to die because no one will use it. Ada is an exception because the DOD mandated usage. Most language designers don't have this much influence. >I would love to see Fortran returned to a simplicity intermediate between >FORTRAN II and FORTRAN IV (with all the ugly stuff retained, so dusty decks >could still be compiled), and new languages designed for vector operations and >other such semantic improvements. Suppose this were true: and next year someone came up with a bug in the old FORTRAN compiler: whose gonna fix it? Not the people who wrote the compiler, they have since gone on to bigger and better things. And now this poor guy has to rewrite his entire application (possibly including several dusty decks) in a newer language to get around the problem. >I believe that there is room for a large number of languages, both because new >languages bring us improved expressive power and because certain languages are >best suited for specific applications [examples deleted] There is a LARGE problem in interlanguage communication: how are you gonna get from C to Lisp, where Lisp requires tagged data objects and C doesn't. What about Ada, where parameters may or may not be passed by reference ( compiler A implements IN OUT as pass by ref, compiler B does them by copying). Now, your C compiler not only has to know about Ada function format, it also has to know which Ada compiler you are using. I would love to be able to use any combination of languages I want, but there are many problems. >I believe that there is much to improve in both the syntax and semantics of >our programming languages. We should use new languages as the vehicle for >experimenting with such improvements in most cases, not merely tacking them >onto an existing favorite language. Another approach is to have a language designed for use in studying programming languages. Scheme has been used for this purpose, since it is easy to write interpreters in Scheme. This avoids having to build a whole new language to study a single improvement. >David Spector >ds@primerd.prime.com (until the layoff) John gateley@m2.csc.ti.com