Deutsch English Français Italiano |
<vaka5jpbad271mal8vtj7hb04mhvgsmlc5@4ax.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: John Savard <quadibloc@servername.invalid> Newsgroups: comp.arch Subject: Re: ALTER, ASSIGN and labels-as-values (was: Unicode in strings) Date: Mon, 27 May 2024 21:45:38 -0600 Organization: A noiseless patient Spider Lines: 63 Message-ID: <vaka5jpbad271mal8vtj7hb04mhvgsmlc5@4ax.com> References: <v1ns43$2260p$1@dont-email.me> <2024May11.173149@mips.complang.tuwien.ac.at> <v1preb$2jn47$1@dont-email.me> <2024May12.110053@mips.complang.tuwien.ac.at> <6124140226e28fd4afec0b435bdbeca1@www.novabbs.org> <2024May18.104040@mips.complang.tuwien.ac.at> <v2ang4$2smfg$1@dont-email.me> <34sk4jdhf1crb73jdns37e462ciumq5fjp@4ax.com> <v2ubim$3908a$1@dont-email.me> <2024May26.105139@mips.complang.tuwien.ac.at> <pct95j1dl80k9o8m6u7v3srschmh290vjb@4ax.com> <v33250$89l2$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Injection-Date: Tue, 28 May 2024 05:45:41 +0200 (CEST) Injection-Info: dont-email.me; posting-host="81d27a730d3d052facd7fe3aa174314c"; logging-data="478160"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19OHWXBT6Kja/KqpZ7+JDYkImp194h6k1w=" Cancel-Lock: sha1:WhfP/2Wsy4idWwtDPXf9xRd5XO0= X-Newsreader: Forte Free Agent 3.3/32.846 Bytes: 3252 On Mon, 27 May 2024 22:40:32 -0000 (UTC), "Stephen Fuld" <SFuld@alumni.cmu.edu.invalid> wrote: >John Savard wrote: >> I find this to be an example of incredibly irresponsible language >> design. >Was it irresponsible in Fortran? I don't understand that question. FORTRAN contained no such language construct. It had the computed GOTO and the assigned GOTO. The computed GOTO was: GOTO (10,20,30), I and somewhere else you would say I=2, and so it was obvious that the GOTO could go to 10, 20, or 30 depending on how I was set somewhere else. That was no more irresponsible than having an IF statement in FORTRAN. Now, there was also the _assigned_ GOTO, and in a way one could say that it was "closer" to what COBOL had. The assigned GOTO was: GOTO LABEL,(1035,1045,1065) and somewhere else you would say something like ASSIGN 1045 TO LABEL Although this performed the same _functionality_ as the ALTER GOTO statement in COBOL was intended for, an assigned GOTO still obviously had multiple different destinations, based on what was assigned to the variable LABEL somewhere else. What was irresponsible about ALTER GOTO was that if such a thing existed in FORTRAN, one would have GOTO 12 and ALTER GOTO 12 TO 23 somewhere else. Now _that_ would give no indication of its presence, and it would thus be wholly confusing. Of course, in FORTRAN, you _can_ change 12 to 23... because pointers to constants are passed to subroutines, but that will only smash uses of the number 12 in _calculations_, *not* 12 as a _line number_. But that _is_ also a serious fault in FORTRAN. Donstants should always be copied over, and only a pointer to the copy passed to a subroutine, to allow no chance of them being accidentally overwritten. John Savard