The C language on Mars

J

jacob navia

There was a discussion some weeks ago about the C language
being "dead", where Mr Tisdale, as far as I know a NASA employee,
participated telling us that he is waiting for C programmers
to die off.

I have recently started to browse through the "MER analyst notebook"
(http://anserver1.eprsl.wustl.edu/). MER stands for Mars Exploration
Rover, the two spaceships that NASA sent to Mars.

In the logs of the activity we find lines like:

232 command 2004-114T16:32:45.289 136010002.844
2004-115T05:32:15.245 88025
RUN_SEQ completed with status = 0.
Sequenced Command Number 3 from Engine 2; Sequence ID s0881,
version 0 (seq_engine.c:3482)
^^^^^^^^^^^^^^^^^

Yes, "seq_engine.c" Mr Tisdale.

In other reports we find:
fme_class.c:3002 mrf_class.c:2724 cmd_dispatch.c:269
seq_controller.c:902 init.c:646
sapp_nate_mode_commander.c:274
vsbm_activities.c:247 sapp_iit.c:321
dwn_sbd.c:799 uhft.c:936 cbm_window.c:1410
use_measurement_set.c:464 fme_class.c:3012

The whole software of the spaceships is in C.

And for good reasons, Mr Tisdale.
 
J

john blackburn

jacob said:
The whole software of the spaceships is in C.

NASA is like the military, it is very expensive and time consuming to test
and approve a language for use due to the high integrity required. I am
not surprized they have a conservative policy to change.

I always remember the classic FORTRAN line that cost them the voyager space
mission to mars when there was a line which said :-

FOR I=1.4

when it should have read :-

FOR I=1,4

and the compiler failed to pick it up as a warning or error.

an expensive "period" that !
 
J

Joona I Palaste

NASA is like the military, it is very expensive and time consuming to test
and approve a language for use due to the high integrity required. I am
not surprized they have a conservative policy to change.
I always remember the classic FORTRAN line that cost them the voyager space
mission to mars when there was a line which said :-
FOR I=1.4
when it should have read :-
FOR I=1,4
and the compiler failed to pick it up as a warning or error.
an expensive "period" that !

If I remember this right, the line that was there assigned the floating
point value 1.4 to a variable named "FOR I" (without the quotes).
Whereas the line that should have been there was like the C for loop
for (I=1; I<=4; I++) .
Quite a strange language, that Fortran...

--
/-- Joona Palaste ([email protected]) ------------- Finland --------\
\-------------------------------------------------------- rules! --------/
"'So called' means: 'There is a long explanation for this, but I have no
time to explain it here.'"
- JIPsoft
 
K

Keith Thompson

john blackburn said:
NASA is like the military, it is very expensive and time consuming to test
and approve a language for use due to the high integrity required. I am
not surprized they have a conservative policy to change.

I always remember the classic FORTRAN line that cost them the voyager space
mission to mars when there was a line which said :-

FOR I=1.4

when it should have read :-

FOR I=1,4

and the compiler failed to pick it up as a warning or error.

an expensive "period" that !

<OT>

Wrong syntax, wrong bug, wrong spacecraft, wrong planet. Apart from
that, it's essentially correct.

The Fortran bug in question involves a DO loop. The correct syntax is:

DO 10 I = 1,10

A typo like:

DO 10 I = 1.10

is parsed as an assignment statement:

DO10I = 1.10

The legend is that this bug caused the loss of a Mariner probe. In
fact, the Mariner I Venus probe was lost due to an error in a
hand-written guidance equation. The DO10I bug did show up at about
the same time on Project Mercury; it was corrected before it caused
any real problems.

The details are in the alt.folklore.computers FAQ at
<http://members.chello.at/theodor.lauppert/computer/afc-faq.htm>;
see question III.1.

</OT>
 
S

slurper

jacob said:
There was a discussion some weeks ago about the C language
being "dead", where Mr Tisdale, as far as I know a NASA employee,
participated telling us that he is waiting for C programmers
to die off.

I have recently started to browse through the "MER analyst notebook"
(http://anserver1.eprsl.wustl.edu/). MER stands for Mars Exploration
Rover, the two spaceships that NASA sent to Mars.

In the logs of the activity we find lines like:

232 command 2004-114T16:32:45.289 136010002.844
2004-115T05:32:15.245 88025
RUN_SEQ completed with status = 0.
Sequenced Command Number 3 from Engine 2; Sequence ID s0881,
version 0 (seq_engine.c:3482)
^^^^^^^^^^^^^^^^^

Yes, "seq_engine.c" Mr Tisdale.

In other reports we find:
fme_class.c:3002 mrf_class.c:2724 cmd_dispatch.c:269
seq_controller.c:902 init.c:646
sapp_nate_mode_commander.c:274
vsbm_activities.c:247 sapp_iit.c:321
dwn_sbd.c:799 uhft.c:936 cbm_window.c:1410
use_measurement_set.c:464 fme_class.c:3012

The whole software of the spaceships is in C.

lol. all production operating systems are in C if it's a consolation
C is a very good system-programming language for embedded devices and
operating systems (and far from dead), but it has been used in systems
which are far better implemented in safer languages like java or scripting
languages. Administrative systems are simply easier to write in java. you
need less skill to write those types of systems and being exposed to too
many design options (C, C++) can be daunting for simple programs.
 
D

Dan Pop

In said:
I always remember the classic FORTRAN line that cost them the voyager space
mission to mars when there was a line which said :-

FOR I=1.4

when it should have read :-

FOR I=1,4

and the compiler failed to pick it up as a warning or error.

an expensive "period" that !

It's an urban legend and you didn't even get it right. There is no FOR
in Fortran, it was a DO loop:

DO 5 I = 1. 5

that got parsed as

DO5I = 1.5

and, although real, the bug was relatively harmless. The software errors
responsible for the loss of a NASA space mission are more complex.

Dan
 
E

E. Robert Tisdale

jacob said:
There was a discussion some weeks ago about the C language
being "dead", where Mr Tisdale, as far as I know a NASA employee,

Mr. Tisdale is an employee of Caltech.
Caltech runs the Jet Propulsion Laboratory for NASA.
Mr. Tisdale is *not* a spokesperson for Caltech, JPL or NASA.
Any opinions expressed by Mr. Tisdale are his own
and *not* necessarily the official position of Caltech, JPL or NASA.
Conversely, official positions taken by Caltech, JPL and NASA
are *not* necessarily Mr. Tisdale's positions.
 
M

Merrill & Michele

E. Robert Tisdale said:
And what are those reasons?

I used Google

http://www.google.com/

to search for

+"C++" +"MER" +"JPL"

and I found lots of stuff.

This is going to be good reading. I haven't checked upthread for
everything, but I would *love* to see the code that didn't understand the
difference between feet and meters. (Not that a gazillion-dollar snafu is
unusual.) MPJ
 
M

Mohd Hanafiah Abdullah

This is going to be good reading. I haven't checked upthread for
everything, but I would *love* to see the code that didn't understand the
difference between feet and meters. (Not that a gazillion-dollar snafu is
unusual.) MPJ

C is still popular at least according to the TIOBE Programming Community Index
for November 2004:

http://www.tiobe.com/tpci.htm

Napi
 
C

Christopher Benson-Manica

Mohd Hanafiah Abdullah said:
C is still popular at least according to the TIOBE Programming Community Index
for November 2004:

And look at how active this newsgroup is :)
 
D

Dan Pop

Patently false. Much of OS/400 is written in PL.8, for example.

Most OSs whose history can be traced to before the time when C became
a mainstream programming language (about the early to mid eighties) are
unlikely to have been reimplemented in C. So, I wouldn't expect to
find much C in the code of MVS, VM, VMS, except for their POSIX
compatibility layers.

Dan
 
G

Guillaume

C is still popular at least according to the TIOBE Programming Community Index
And look at how active this newsgroup is :)

Well, this kind of topic, is, well, *completely* off-topic.

Actively participating in a newsgroup on C to keep saying C is dead is
exactly what we call trolling.

Enough said.
 
S

Stuart Gerchick

Joona I Palaste said:
If I remember this right, the line that was there assigned the floating
point value 1.4 to a variable named "FOR I" (without the quotes).
Whereas the line that should have been there was like the C for loop
for (I=1; I<=4; I++) .
Quite a strange language, that Fortran...

C is not different in this reagrd. You can misplace a } and put it on
the wrong line and it will not do what you expect and will not be
flagged as a compile error. Most langauages have things that can be
ambiguous if done impropely and not be caught at compile time.

Also, this error did not cause the lost of the craft. That was
something else entirely.
 
M

Merrill & Michele

Stuart Gerchick said:
Joona I Palaste <[email protected]> wrote in message

C is not different in this reagrd. You can misplace a } and put it on
the wrong line and it will not do what you expect and will not be
flagged as a compile error. Most langauages have things that can be
ambiguous if done impropely and not be caught at compile time.

Also, this error did not cause the lost of the craft. That was
something else entirely.

namely...? MPJ
 
K

Keith Thompson

Merrill & Michele said:
namely...? MPJ

I posted a pointer to the details elsewhere in this thread. Search
for the alt.folklore.computers FAQ, then search for "Mariner".
 
M

Mabden

Merrill & Michele said:
This is going to be good reading. I haven't checked upthread for
everything, but I would *love* to see the code that didn't understand the
difference between feet and meters. (Not that a gazillion-dollar snafu is
unusual.) MPJ

Which is kind of surprising when you realize that "Space is big. Really
big."

Imagine how far off we'll be when we try to get to Betelgeuse...
 
M

Merrill & Michele

Keith Thompson said:
I posted a pointer to the details elsewhere in this thread. Search
for the alt.folklore.computers FAQ, then search for "Mariner".
I know you. Don't know him. Believe it or not, I'm going to walk through
life thinking that if I had to know things about this event, I would talk to
you, and I think this post reveals the form that Richard Bos was getting at.
MPJ
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top