Re: Voyager (2nd Edition)
----boundary-LibPST-iamunique-1263657705_-_-
Content-type: text/plain
This subject has gotten far from CP and Black Box, so many of you may want to skip this message. Hector has forwarded some comments about FORTRAN that I believe are misleading, and I feel compelled to respond. Please note that I receive only the Black Box digest, so I may be far behind the discussion at the time of this message.
The assertion is that
DO 20 I=1,100
could be mistyped as
DO20I=1.100
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. If any one of the three errors is missing, the program would generate a compiler error. How many languages do you know that will give the correct result if you make three typing errors?
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.
Readers may also have an exaggerated notion of FORTRAN as an archaic language. Although it was around for decades before the Pascal or C language families, it has been modernized. Most of the former deficiencies have been eliminated or deprecated, and it is still probably unequaled for numerical programming. Even the infamous source code line format is now deprecated. Because such features as triangular matrices and direct matrix manipulation are part of the language, optimization is easy. I started programming with FORTRAN 66 (from 1966), which was the successor to FORTRAN IV. Even then it was trivial to pass a multidimensional open array (with size unknown at compile time) to a subroutine (i.e., procedure). Most modern languages got this capability only recently, if at all. Even today, if I am not mistaken, it is not possible in some of the Oberon languages.
Finally, it is my understanding that the Mars Rover software was written in Java, not FORTRAN. I saw one claim on the Internet (which I cannot verify) that the operating system (which was written in an unspecified language) has a tendency to reboot in a loop after certain CompactFlash errors, which is apparently exactly what happened.
Sincerely,
Rex Couture
--------------------------------------------
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-1263657705_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwICAgICAgICAgVGhpcyBzdWJqZWN0IGhhcyBnb3R0
ZW4gZmFyIGZyb20gQ1AgYW5kIEJsYWNrIEJveCwgc28gbWFueSBvZiB5b3UgbWF5IHdhbnQgdG8g
c2tpcCB0aGlzIG1lc3NhZ2UuICBIZWN0b3IgaGFzIGZvcndhcmRlZCBzb21lIGNvbW1lbnRzIGFi
b3V0IEZPUlRSQU4gdGhhdCBJIGJlbGlldmUgYXJlIG1pc2xlYWRpbmcsIGFuZCBJIGZlZWwgY29t
cGVsbGVkIHRvIHJlc3BvbmQuICBQbGVhc2Ugbm90ZSB0aGF0IEkgcmVjZWl2ZSBvbmx5IHRoZSBC
bGFjayBCb3ggZGlnZXN0LCBzbyBJIG1heSBiZSBmYXIgYmVoaW5kIHRoZSBkaXNjdXNzaW9uIGF0
IHRoZSB0aW1lIG9mIHRoaXMgbWVzc2FnZS5ccGFyDQpccGFyDQogICAgICAgIFRoZSBhc3NlcnRp
b24gaXMgdGhhdFxwYXINCkRPIDIwIEk9MSwxMDBccGFyDQpjb3VsZCBiZSBtaXN0eXBlZCBhc1xw
YXINCkRPMjBJPTEuMTAwXHBhcg0KYW5kIGludGVycHJldGVkIGJ5IHRoZSBjb21waWxlciBhcyBh
biBhc3NpZ25tZW50IHN0YXRlbWVudCBpbnN0ZWFkIG9mIHRoZSBpbnRlbmRlZCBETyBsb29wLiAg
V2hpbGUgc3VjaCBhbiBlcnJvciBpcyBwb3NzaWJsZSwgaXQgaXMgd29ydGggcG9pbnRpbmcgb3V0
IHRoYXQgaXQgd291bGQgcmVxdWlyZSBhIHNwZWNpZmljIGNvbWJpbmF0aW9uIG9mIHRocmVlIHR5
cGluZyBlcnJvcnMsIGFueSBvbmUgb2Ygd2hpY2ggc2hvdWxkIGJlIG5vdGljZWQgYnkgdGhlIHBy
b2dyYW1tZXIuICBJZiBhbnkgb25lIG9mIHRoZSB0aHJlZSBlcnJvcnMgaXMgbWlzc2luZywgdGhl
IHByb2dyYW0gd291bGQgZ2VuZXJhdGUgYSBjb21waWxlciBlcnJvci4gIEhvdyBtYW55IGxhbmd1
YWdlcyBkbyB5b3Uga25vdyB0aGF0IHdpbGwgZ2l2ZSB0aGUgY29ycmVjdCByZXN1bHQgaWYgeW91
IG1ha2UgdGhyZWUgdHlwaW5nIGVycm9ycz9ccGFyDQpccGFyDQogICAgICAgIEluIGFkZGl0aW9u
LCB0aGUgZXJyb3IgaXMgZWFzaWx5IGF2b2lkZWQgd2l0aCB0aGUgc3RhdGVtZW50IElNUExJQ0lU
IE5PTkUsIHdoaWNoIGhhcyBiZWVuIGF2YWlsYWJsZSBhbmQga25vd24gdG8gRk9SVFJBTiBwcm9n
cmFtbWVycyBhbmQgZW5jb3VyYWdlZCBmb3IgYXQgbGVhc3QgMjAgeWVhcnMuICBUaGUgSU1QTElD
SVQgTk9ORSBzdGF0ZW1lbnQgcmVxdWlyZXMgdGhhdCBhbGwgdmFyaWFibGVzIGJlIGV4cGxpY2l0
bHkgZGVjbGFyZWQsIHRoZXJlYnkgY2F0Y2hpbmcgbWFueSBzdWNoIHR5cGluZyBlcnJvcnMuXHBh
cg0KXHBhcg0KICAgICAgICBSZWFkZXJzIG1heSBhbHNvIGhhdmUgYW4gZXhhZ2dlcmF0ZWQgbm90
aW9uIG9mIEZPUlRSQU4gYXMgYW4gYXJjaGFpYyBsYW5ndWFnZS4gIEFsdGhvdWdoIGl0IHdhcyBh
cm91bmQgZm9yIGRlY2FkZXMgYmVmb3JlIHRoZSBQYXNjYWwgb3IgQyBsYW5ndWFnZSBmYW1pbGll
cywgaXQgaGFzIGJlZW4gbW9kZXJuaXplZC4gIE1vc3Qgb2YgdGhlIGZvcm1lciBkZWZpY2llbmNp
ZXMgaGF2ZSBiZWVuIGVsaW1pbmF0ZWQgb3IgZGVwcmVjYXRlZCwgYW5kIGl0IGlzIHN0aWxsIHBy
b2JhYmx5IHVuZXF1YWxlZCBmb3IgbnVtZXJpY2FsIHByb2dyYW1taW5nLiAgRXZlbiB0aGUgaW5m
YW1vdXMgc291cmNlIGNvZGUgbGluZSBmb3JtYXQgaXMgbm93IGRlcHJlY2F0ZWQuICBCZWNhdXNl
IHN1Y2ggZmVhdHVyZXMgYXMgdHJpYW5ndWxhciBtYXRyaWNlcyBhbmQgZGlyZWN0IG1hdHJpeCBt
YW5pcHVsYXRpb24gYXJlIHBhcnQgb2YgdGhlIGxhbmd1YWdlLCBvcHRpbWl6YXRpb24gaXMgZWFz
eS4gIEkgc3RhcnRlZCBwcm9ncmFtbWluZyB3aXRoIEZPUlRSQU4gNjYgKGZyb20gMTk2NiksIHdo
aWNoIHdhcyB0aGUgc3VjY2Vzc29yIHRvIEZPUlRSQU4gSVYuICBFdmVuIHRoZW4gaXQgd2FzIHRy
aXZpYWwgdG8gcGFzcyBhIG11bHRpZGltZW5zaW9uYWwgb3BlbiBhcnJheSAod2l0aCBzaXplIHVu
a25vd24gYXQgY29tcGlsZSB0aW1lKSB0byBhIHN1YnJvdXRpbmUgKGkuZS4sIHByb2NlZHVyZSku
ICBNb3N0IG1vZGVybiBsYW5ndWFnZXMgZ290IHRoaXMgY2FwYWJpbGl0eSBvbmx5IHJlY2VudGx5
LCBpZiBhdCBhbGwuICBFdmVuIHRvZGF5LCBpZiBJIGFtIG5vdCBtaXN0YWtlbiwgaXQgaXMgbm90
IHBvc3NpYmxlIGluIHNvbWUgb2YgdGhlIE9iZXJvbiBsYW5ndWFnZXMuXHBhcg0KXHBhcg0KICAg
ICAgICBGaW5hbGx5LCBpdCBpcyBteSB1bmRlcnN0YW5kaW5nIHRoYXQgdGhlIE1hcnMgUm92ZXIg
c29mdHdhcmUgd2FzIHdyaXR0ZW4gaW4gSmF2YSwgbm90IEZPUlRSQU4uICBJIHNhdyBvbmUgY2xh
aW0gb24gdGhlIEludGVybmV0ICh3aGljaCBJIGNhbm5vdCB2ZXJpZnkpIHRoYXQgdGhlIG9wZXJh
dGluZyBzeXN0ZW0gKHdoaWNoIHdhcyB3cml0dGVuIGluIGFuIHVuc3BlY2lmaWVkIGxhbmd1YWdl
KSBoYXMgYSB0ZW5kZW5jeSB0byByZWJvb3QgaW4gYSBsb29wIGFmdGVyIGNlcnRhaW4gQ29tcGFj
dEZsYXNoIGVycm9ycywgd2hpY2ggaXMgYXBwYXJlbnRseSBleGFjdGx5IHdoYXQgaGFwcGVuZWQu
XHBhcg0KXHBhcg0KU2luY2VyZWx5LFxwYXINClJleCBDb3V0dXJlXHBhcg0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpccGFyDQpUbyB1bnN1YnNjcmli
ZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEgbWVzc2FnZSBjb250YWluaW5nIHRoZSB3
b3JkICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KICAgYmxhY2tib3gtcmVxdWVzdEBvYmVyb24uY2hc
cGFyDQpccGFyDQpUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUtbWFpbCBjb21tYW5kcyBhbmQgaW5z
dHJ1Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBzZW5kIGEgbWVzc2FnZSBjb250YWluaW5nIHRoZSB3
b3JkICJoZWxwIiB0byB0aGUgYWJvdmUgYWRkcmVzcy5ccGFyDQpccGFyDQpTZW5kIGFueSBwcm9i
bGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbWFpbCBsaXN0IHRvIHRo
ZSBsaXN0IG93bmVyIGF0XHBhcg0KICAgb3duZXItYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0KXHBh
cg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpccGFyDQphKSBUbyBwb3N0IHlvdSBzaG91
bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkIHRvIHRo
ZSBtYWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlzdCBzZXJ2ZXIgd2lsbCByZWNvZ25pemUg
eW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBwb3N0aW5nIGltbWVkaWF0ZWx5LCB3
aXRob3V0IGNyZWF0aW5nIGFueSBvdmVyaGVhZC5ccGFyDQpccGFyDQpiKSBJZiwgZm9yIHNvbWUg
cmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRkcmVzcywgYnkgd2hpY2ggeW91IGFy
ZSBzdWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBtb2RlcmF0ZWQgdG8gYXZvaWQgc3Bh
bS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBtb2RlcmF0aW9uIHdpbGwgb2Z0ZW4gY2F1c2Ugc29t
ZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtlbmRzIG9yIGhvbHlkYXlzLlxwYXINClxw
YXINCn0=
----boundary-LibPST-iamunique-1263657705_-_---
Received on Wed Mar 17 2004 - 17:06:34 UTC
This archive was generated by hypermail 2.3.0
: Thu Sep 26 2013 - 06:28:49 UTC