Re: Voyager (2nd Edition)

From: [at]} <skulski{>
Date: Wed, 17 Mar 2004 20:23:08 -0500 (EST)

----boundary-LibPST-iamunique-2106815863_-_-
Content-type: text/plain

"Rex Couture" <rex{([at]})nowhere.xy

> The assertion is that [in FORTRAN]
> DO 20 I100
> could be mistyped as
> DO20I100
> and interpreted by the compiler as an assignment statement instead of the
> intended DO loop. While such an error is possible, it is worth pointing
> out that it would require a specific combination of three typing errors,
> any one of which should be noticed by the programmer.

Actually, only one error. FORTRAN would skip all whitespace.
The text "DO 20 I100" would have been interpreted as "DO20I = 1.100"
The compiler would concatenate "DO 20 I" and interpret it as a name
of a variable.

I have heard this story several times, the first time it would have
been a lunar probe that crashed. I am not sure if the story is not
apocryphal. Would be interesting to know the original source.
I vaguely remember seeing this story in a well-known book on
computer programming, forgot which.

> In addition, the error is easily avoided with the statement
> IMPLICIT NONE, which has been available and known to FORTRAN
> programmers and encouraged for at least 20 years. The IMPLICIT
> NONE statement requires that all variables be explicitly declared,
> thereby catching many such typing errors.

IMPLICIT NONE was officialy introduced in FORTRAN-77, though I seem
to remember seeing it in CDC FORTRAN earlier. The abovementioned
story refers to FORTRAN IV, I think. But since we do not know the
source, the story may not be true.

Regards,

Wojtek

--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.



----boundary-LibPST-iamunique-2106815863_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwICJSZXggQ291dHVyZSIgPHJleEBsZXZlZS53dXN0
bC5lZHU+IHdyb3RlOlxwYXINClxwYXINCj4gVGhlIGFzc2VydGlvbiBpcyB0aGF0IFtpbiBGT1JU
UkFOXVxwYXINCj4gRE8gMjAgST0xLDEwMFxwYXINCj4gICAgY291bGQgYmUgbWlzdHlwZWQgYXNc
cGFyDQo+IERPMjBJPTEuMTAwXHBhcg0KPiBhbmQgaW50ZXJwcmV0ZWQgYnkgdGhlIGNvbXBpbGVy
IGFzIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IGluc3RlYWQgb2YgdGhlXHBhcg0KPiBpbnRlbmRl
ZCBETyBsb29wLiAgV2hpbGUgc3VjaCBhbiBlcnJvciBpcyBwb3NzaWJsZSwgaXQgaXMgd29ydGgg
cG9pbnRpbmdccGFyDQo+IG91dCB0aGF0IGl0IHdvdWxkIHJlcXVpcmUgYSBzcGVjaWZpYyBjb21i
aW5hdGlvbiBvZiB0aHJlZSB0eXBpbmcgZXJyb3JzLFxwYXINCj4gYW55IG9uZSBvZiB3aGljaCBz
aG91bGQgYmUgbm90aWNlZCBieSB0aGUgcHJvZ3JhbW1lci5ccGFyDQpccGFyDQpBY3R1YWxseSwg
b25seSBvbmUgZXJyb3IuIEZPUlRSQU4gd291bGQgc2tpcCBhbGwgd2hpdGVzcGFjZS5ccGFyDQpU
aGUgdGV4dCAiRE8gMjAgST0xLjEwMCIgd291bGQgaGF2ZSBiZWVuIGludGVycHJldGVkIGFzICJE
TzIwSSA9IDEuMTAwIlxwYXINClRoZSBjb21waWxlciB3b3VsZCBjb25jYXRlbmF0ZSAiRE8gMjAg
SSIgYW5kIGludGVycHJldCBpdCBhcyBhIG5hbWVccGFyDQpvZiBhIHZhcmlhYmxlLlxwYXINClxw
YXINCkkgaGF2ZSBoZWFyZCB0aGlzIHN0b3J5IHNldmVyYWwgdGltZXMsIHRoZSBmaXJzdCB0aW1l
IGl0IHdvdWxkIGhhdmVccGFyDQpiZWVuIGEgbHVuYXIgcHJvYmUgdGhhdCBjcmFzaGVkLiBJIGFt
IG5vdCBzdXJlIGlmIHRoZSBzdG9yeSBpcyBub3RccGFyDQphcG9jcnlwaGFsLiBXb3VsZCBiZSBp
bnRlcmVzdGluZyB0byBrbm93IHRoZSBvcmlnaW5hbCBzb3VyY2UuXHBhcg0KSSB2YWd1ZWx5IHJl
bWVtYmVyIHNlZWluZyB0aGlzIHN0b3J5IGluIGEgd2VsbC1rbm93biBib29rIG9uXHBhcg0KY29t
cHV0ZXIgcHJvZ3JhbW1pbmcsIGZvcmdvdCB3aGljaC5ccGFyDQpccGFyDQo+ICAgICAgICAgSW4g
YWRkaXRpb24sIHRoZSBlcnJvciBpcyBlYXNpbHkgYXZvaWRlZCB3aXRoIHRoZSBzdGF0ZW1lbnRc
cGFyDQo+IElNUExJQ0lUIE5PTkUsIHdoaWNoIGhhcyBiZWVuIGF2YWlsYWJsZSBhbmQga25vd24g
dG8gRk9SVFJBTlxwYXINCj4gcHJvZ3JhbW1lcnMgYW5kIGVuY291cmFnZWQgZm9yIGF0IGxlYXN0
IDIwIHllYXJzLiBUaGUgSU1QTElDSVRccGFyDQo+IE5PTkUgc3RhdGVtZW50IHJlcXVpcmVzIHRo
YXQgYWxsIHZhcmlhYmxlcyBiZSBleHBsaWNpdGx5IGRlY2xhcmVkLFxwYXINCj4gdGhlcmVieSBj
YXRjaGluZyBtYW55IHN1Y2ggdHlwaW5nIGVycm9ycy5ccGFyDQpccGFyDQpJTVBMSUNJVCBOT05F
IHdhcyBvZmZpY2lhbHkgaW50cm9kdWNlZCBpbiBGT1JUUkFOLTc3LCB0aG91Z2ggSSBzZWVtXHBh
cg0KdG8gcmVtZW1iZXIgc2VlaW5nIGl0IGluIENEQyBGT1JUUkFOIGVhcmxpZXIuIFRoZSBhYm92
ZW1lbnRpb25lZFxwYXINCnN0b3J5IHJlZmVycyB0byBGT1JUUkFOIElWLCBJIHRoaW5rLiBCdXQg
c2luY2Ugd2UgZG8gbm90IGtub3cgdGhlXHBhcg0Kc291cmNlLCB0aGUgc3RvcnkgbWF5IG5vdCBi
ZSB0cnVlLlxwYXINClxwYXINClJlZ2FyZHMsXHBhcg0KXHBhcg0KV29qdGVrXHBhcg0KXHBhcg0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpccGFyDQpU
byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEgbWVzc2FnZSBjb250
YWluaW5nIHRoZSB3b3JkICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KICAgYmxhY2tib3gtcmVxdWVz
dEBvYmVyb24uY2hccGFyDQpccGFyDQpUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUtbWFpbCBjb21t
YW5kcyBhbmQgaW5zdHJ1Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBzZW5kIGEgbWVzc2FnZSBjb250
YWluaW5nIHRoZSB3b3JkICJoZWxwIiB0byB0aGUgYWJvdmUgYWRkcmVzcy5ccGFyDQpccGFyDQpT
ZW5kIGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbWFp
bCBsaXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0XHBhcg0KICAgb3duZXItYmxhY2tib3hAb2Jlcm9u
LmNoXHBhcg0KXHBhcg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpccGFyDQphKSBUbyBw
b3N0IHlvdSBzaG91bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2ggeW91IGFyZSBzdWJz
Y3JpYmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlzdCBzZXJ2ZXIgd2ls
bCByZWNvZ25pemUgeW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBwb3N0aW5nIGlt
bWVkaWF0ZWx5LCB3aXRob3V0IGNyZWF0aW5nIGFueSBvdmVyaGVhZC5ccGFyDQpccGFyDQpiKSBJ
ZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRkcmVzcywgYnkg
d2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBtb2RlcmF0ZWQg
dG8gYXZvaWQgc3BhbS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBtb2RlcmF0aW9uIHdpbGwgb2Z0
ZW4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtlbmRzIG9yIGhvbHlk
YXl9fQBtYWluIFsxMjcuMC4

----boundary-LibPST-iamunique-2106815863_-_---
Received on Thu Mar 18 2004 - 02:23:08 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:49 UTC