Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!wuarchive!brutus.cs.uiuc.edu!ux1.cso.uiuc.edu!iuvax!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.lang.misc Subject: Re: The Forbiden Message-ID: <2440@l.cc.purdue.edu> Date: 17 Aug 90 18:24:31 GMT References: <24294@megaron.cs.arizona.edu> <1990Aug17.043940.3337@murdoch.acc.Virginia.EDU> Organization: Purdue University Statistics Department Lines: 60 In article <1990Aug17.043940.3337@murdoch.acc.Virginia.EDU>, gl8f@astsun9.astro.Virginia.EDU (Greg Lindahl) writes: > In article <24294@megaron.cs.arizona.edu> gudeman@cs.arizona.edu (David Gudeman) writes: > >In article <1990Aug16.204409.4744@murdoch.acc.Virginia.EDU> gl8f@astsun7.astro.Virginia.EDU (Greg Lindahl) writes: > >> > >>Try this for an example: FORTRAN doesn't allow aliased arguments in > >>subroutine calls. This allows FORTRAN compilers to make all sorts of > >>nice optimizations. This might allow the compiler to make nice optimizations, but not the programmer. > >This example fits so obviously into scenario (3) that I feel I must > >not have expressed myself at all clearly. > > Actually, it doesn't fit into #3 because a run-time check is > available. But it's not what you say, it's what you mean. You mean you have never deliberately used range violations which would cause what you wanted to do to be done, even though your language did not allow it? You did not deliberately violate types so that you could come up with a reasonable program for your machine? How did you get the binary representation of that floating point constant into your program? ........................ > I don't like kitchen sink languages. If your FORTRAN optimizer deals > with non-aliased arguments, it needs more smarts to deal with aliased > arguments. Why make the compiler and language bigger just to deal with > someone's brain-damaged coding style? > > >I have this silly idea that the programmer (at coding time) is better > >at making decisions on how to write a particular program than is the > >language designer at language-design time. > > I have the silly idea that programmers appreciate concise languages. > How much money would you have me pay to my compiler writers just to > add that "feature"? But what do I know, I just *use* the language > we're talking about. There are programmers and there are programmers. If you want to program something so that it takes hours to do a .1-second job because the language is inadequate to handle the ideas involved, you use one type. If you want to put something in a library, that type should not be used. Can you modify the program to take advantage of machine architecture? It is not necessary to pay much to have an extensible compiler; much of the optimization should be done at the assembler level, or interactively between the compiler and the programmer. Why should the compiler be asked to do all of the optimizing? One might wish to use totally different algorithms on different machines. This is a type of optimizing which the compiler cannot do, especially if it involves creating the programmer. A first-class programmer must be able to create what the language designers have not envisioned. Not every programmer will be first-class, but to leave something out because only the good programmers can use it can only produce mediocre programming. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet) {purdue,pur-ee}!l.cc!cik(UUCP)