Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!rpi!zaphod.mps.ohio-state.edu!usc!apple!netcom!ergo From: ergo@netcom.UUCP (Isaac Rabinovitch) Newsgroups: comp.lang.misc Subject: Re: Algol, and language design Message-ID: <11052@netcom.UUCP> Date: 27 Jul 90 02:05:40 GMT References: <25630@cs.yale.edu> <58091@lanl.gov> <1990Jul26.024449.1777@esegue.segue.boston.ma.us> <2406@l.cc.purdue.edu> Organization: UESPA Lines: 49 In <2406@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: >In article <1990Jul26.024449.1777@esegue.segue.boston.ma.us>, johnl@esegue.segue.boston.ma.us (John R. Levine) writes: >> In article <58091@lanl.gov> jlg@lanl.gov (Jim Giles) writes: >> >> >In fact, only two features, that I can find, are original to ALGOL and >> >have a continuing positive influence on language design: if-then-else >> >and while(). >> >> How about nested scopes and recursion? I find them handy from time to time. >Nested scopes of DO loops are present in Fortran... I think maybe John was talking about lexical scope of symbols. If he wasn't, he should have been. I'd hate to program in a language that requires *every* variable in a program to be lexically distinct! If you're gonna be that primitive, you might as well give up on symbols and go back to machine language! Then again, LISP might've had this sort of thing before ALGOL. But the way LISP defines such things is to computing as mathematical logic is to "1+1=2"! You have to get away from all the great abstract theories before an idea can be useful in the real world. >I do not see IF and FI as any better than BEGIN and END. Better would be >to have labels (including temporary labels not going into the symbol table) >and end statements which would carry the label. The END statement, even >without a BEGIN statement, was in common use at the time; All processors >need to know when to stop. Again, you seem to be responding to a point that wasn't made. If the only purpose of END was to terminate a program, then it became obsolete as soon as OSs came up with a standard End-of-File indicator! BEGIN and END are for *grouping* statements *within* a program. It's been a long time since I programmed in FORTRAN, but I'm quite sure it had nothing of the kind, under that or any other name. >-- >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) -- ergo@netcom.uucp Isaac Rabinovitch atina!pyramid!apple!netcom!ergo Silicon Valley, CA uunet!mimsy!ames!claris!netcom!ergo "I hate quotations. Tell me what you know!" -- Ralph Waldo Emerson