back to article Think Fortran, assembly language programming is boring and useless? Tell that to the NASA Voyager team

If you thought Fortran and Cold War-era assembly language programming is pointless and purely for old-timers, guess again. NASA has found an engineer comfortable with the software to keep its old space-race-age systems ticking over. In an interview with Popular Mechanics this month, the manager of NASA's Voyager program …

COMMENTS

This topic is closed for new posts.
Silver badge
Pint

Re: Where do I sign?

"...didn't have a passport."

Only takes a few days in urgent circumstances.

1
0
Thumb Up

Re: Where do I sign?

Why did I ever leave Fortran, Algol, (and Assembly) for COBOL? AhHa, for the money - I remember now.

3
0
Happy

Re: Where do I sign?

Yes, we had a real woman on our COBOL team. And all the (rather lovely) younger women who punched our 80-column program cards if our fingers were exhausted. The '60s were better than anyone can possibly imagine.

7
0

Re: Where do I sign?

370 Assembler is what what you really need none of that later Motorola or Intel stuff.

0
0

Re: Where do I sign?

47 and 25 years of OS/360 assembler and derivatives. Plenty of us about too!

0
0

Re: Where do I sign?

Was it maybe because you said "I want an unclear job"? Kidding.

Back in the days that voyager launched, I could code in assembler for a bunch of processors, and I've even added a few over the years, but a one-off processor? They may as well just train someone - what is the chance of finding someone who has those skills already and isn't the same age as the guy doing it now?

Now FORTRAN on the other hand - Fortran IV was a very simple language to learn - in fact I learned it in highschool over a weekend using the famous "Fortran Coloring Book", when the choice was doing that or not getting hangout access to the computer lab. The teacher hated that I was correcting HIS work by a couple weeks later, but he let me stay.

What I don't understand is what a space probe is doing with a fortran runtime on board. You would think that it's all static binaries, at which point any language with a compiler that can target the processor would work fine - spend some time getting CLANG/LLVM or GCC working for that processor.

I'm going to have to see if I can learn more about the environment, it seems really odd.

1
0
Silver badge

Re: Srsly? Didn't have a passport?

They needed me on site next Monday. I asked about remote working, but they needed somebody hands on on site. (I still had two weeks of the contract I was working on. I've had a quick skim through my email archive and can't find correspondance.)

1
0

Re: Where do I sign?

"The '60s were better than anyone can possibly imagine."

If you can remember the 60's you wasn't there.

10
0

Re: Where do I sign?

I would imagine the space probe doesn't have a Fortran runtime on board, that particular requirement being for the command and control and received data processing back here. The assembler would be for the probe itself and I would think anyone suitable for the job would already have worked with several different assembly languages and would take adding another in their stride.

7
0
Anonymous Coward

Re: Where do I sign?

Good man :)

I was told similar bollocks at skool. Not clever enough to be an engineer, why not go into the fire service? Nothing wrong with the fire service, but not what I wanted to do. Mr Grigg, you, Sir if you are still alive, are an arsehole.

I cut my teeth on the 6510, spent many years writing code for the old 4-bit Hitachi H400 series of MCU's and PIC's. At 48 I'm working for a semiconductor manufacturer. Is it just me or does the whole semiconductor industry seem to be comprised of people in their 40's? Where is the new blood?

0
0

Re: Where do I sign?

From memory the PDP 11/10 and LSI 11 did not have floating point hardware, or multiply. The quick win was to use the Fortran runtime which emulated floating point or alternatively do all the maths with fixed point.

0
0
Anonymous Coward

Re: Srsly? Didn't have a passport?

> If you can't perform THIS job remotely, I don't think they'd be willing to hire you.

It's not a question of can you do it remotely. It's will they let you. It is the US Government, in the form of NASA/JPL and Caltech

2
0

This post has been deleted by its author

Re: Where do I sign?

"Where is the new blood?"

They are all busy becoming the masters of advanced button pushing and object obfuscation, skills which require precious little understanding or intellect - the results are available for all to see at your nearest "abortion of a website"

3
0

Re: Srsly? Didn't have a passport?

Indeed. It's not as if you'll be commuting to the heliopause.

1
0
Anonymous Coward

Re: Srsly? Didn't have a passport?

> If you can't perform THIS job remotely, I don't think they'd be willing to hire you.

It's not a question of can you do it remotely. It's will they let you. It is the US Government, in the form of NASA/JPL and Caltech

Wow. Have you ever heard of humor?

0
0
Silver badge

······WRITE (6,100)

······STOP

··100·FORMAT (9HHOW MUCH?)

······END

8
0
Anonymous Coward

Which fortran?

Fortran-I, Fortran-II, Fortran-III, and Fortran-IV are different beasties.

2
0
Silver badge

Re: Which fortran?

The FORTRANs up to 66 are modest variations on a theme. FORTRAN III never saw the light of day. From FORTRAN 77 onwards the pace of change accelerated - Fortran 2015 is going to be largely unrecognisable to a programmer of the 1960s.

There was, of course, a time when the question was not "Which?" but WATFOR?

9
0
Boffin

Re: Which fortran?

Not forgetting WATFIV...

Ahhh. Those were the days, many years ago.

(Waterloo FORTRAN IV)

3
0
Silver badge

Re: Which fortran?

>Fortran-I, Fortran-II, Fortran-III, and Fortran-IV are different beasties.

At least with Fortran77 you didn't have to use roman numerals for all the calculations

3
0
Bronze badge
FAIL

Replace technology drudgery by automated life-cycle convention.

Why didn't NASA port to an OSS maintained, cross-compiler tool-chain decades ago, like say GCC, and have the toolchain automatically generate any extra machine code by life-cycle convention, like Maven does for Java artifacts? The test rig should only be need for final testing, all prior testing could be orders of magnitude faster in an emulator, so WTF have they been playing at?

I wrote assembler for single digit MHz machines as a child, and the reason it was slow and hard was the more primitive software development technology, not just the technology limits of the hardware.

Any employer who isn't proactive about, or doesn't allow, cost effective reduction of developer drudgery (e.g. via build automation, appropriate better hardware/software/process) deserves to loss all their developers and be rejected by potential recruits.

Sorry, software developers were never factory worker 'cogs'. We are well past the Industrial Age, and have been transitioning from the Information Age to the Design Age for well over a decade now!

2
22
Silver badge
Pint

Re: Replace technology drudgery by automated life-cycle convention.

I don't think that you understand the situation.

32
0

Re: Replace technology drudgery by automated life-cycle convention.

LOL - perfect reply.

5
0
Silver badge

Re: Replace technology drudgery by automated life-cycle convention.

Compilers can never produce code as efficient as hand-optimised assembly.

In most cases, this really doesn't matter in the slightest.

But sometimes it does - albeit very rarely these days.

Even in modern embedded hardware you can end up needing to hand-optimise (or even hand-write) assembly segments.

8
0

Re: Replace technology drudgery by automated life-cycle convention.

Not sure why the downvotes, Infernoz is totally right. We've got 16mhz processors with 2k of RAM running C binaries today (any arduino or bare Atmel embedded processor) generated by GCC - it seems they would be far better off getting a modern compiler environment set up to target the voyager's processor. It would probably be easier than training up someone to use the ancient toolchain they have. I assume they have equivalent processors on the ground so they can test, so I don't see the big deal doing that.

1
15

Re: Replace technology drudgery by automated life-cycle convention.

If you don't realise why he's been so royally downvoted, oh well.....

I'm sure you'd just love the reputation of being the guy who lost 2 deep space probes that had gone the furthest of any manmade object and had been doing just fine for decades. Through your bright idea for how Things Could Be Done Better.

Seems you couldn't be arsed to upvote him, either.

18
0
Silver badge

Re: Replace technology drudgery by automated life-cycle convention.

I know a little bit about NASA and the answer is they most likely did and do, but they need someone to customize and debug.

I upvoted you because those were some damn good questions.

1
1

This post has been deleted by its author

Re: Replace technology drudgery by automated life-cycle convention.

Compilers can never produce code as efficient as hand-optimised assembly.

A ridiculous claim. Of course they can in some circumstances, such as when a compiler produces code as efficient, by whatever metric you like, as possible, and thus as efficient as hand-optimized assembly.

What's more, they can generally do it faster. They can do it fast enough that they can profile the execution of a wide range of alternatives and pick the best-performing one. They can run against CPUs with hardware tracing and see exactly what's going on with pipeline stalls and cache misses and coherency.

Is there still sometimes an opportunity to improve performance by hand-tuning? Sure. But to claim that it always beats the compiler is foolishness.

1
0
Anonymous Coward

Re: Replace technology drudgery by automated life-cycle convention.

We've got 16mhz processors with 2k of RAM running C binaries today (any arduino or bare Atmel embedded processor) generated by GCC - it seems they would be far better off getting a modern compiler environment set up to target the voyager's processor. It would probably be easier than training up someone to use the ancient toolchain they have

So.... you're volunteering to rewrite all the assembly in C?

And, you're assuming that someone is willing to do the work to target that processor.....

0
0
Silver badge

Obsolete tech

In the 90s I remember hearing an American project manager lament that the young chaps did not seem interested in learning JOVIAL.

4
0

Re: Obsolete tech

Heck, I programmed in the original IAL, before Jule's Own Version of IAL came around.

I prominently feature that on my resume (along with ALGOL, SAIL, SNOBOL, and Bliss) yet I get no responses. Why is that?

4
0
Anonymous Coward

Re: Obsolete tech

Bliss! Great language.

AFAIK, unless you have Csharp or Java or other modern languages none of the Recruitment Agencies will have a clue as to what you are talking about. For example Algol and its derivatives.

I have a PDP-11/83 and a MicroVax in my Garage. Fortran 4+ compiler as well as Bliss Cobol etc.

Retro stuff and sadly no front panels but still proper computers. I love programming in Macro. Far more pleasurable that C or Java or .... just about anything in widespread use today.

Pascal is another language I like to use.

Is any of this use for finding a job? Nah. Not a chance.

But the principles of writing 'tight' code you have to learn with these memory restricted systems can make the code you write today a lot faster.

Currently I'm working with a number of awful XSLT's that are just ****. Even Coral-66 is better than that sort of shite.

6
0
Anonymous Coward

Re: Obsolete tech

unless you have Csharp or Java or other modern languages none of the Recruitment Agencies will have a clue as to what you are talking about

Oh, come on, very very few of the Recruitment Agencies have any clue about anything either their clients (aka victims) or jobseekers (aka victims) are talking about.

I'd better be AC, as I may possibly have need of one in desperation

5
0

This post has been deleted by its author

Re: Obsolete tech

1989s_coder - Genuinely interested in what you say. Care to amplify?

I see lots of people my age who are doing contracting or consultancy.

I know I am skilled, but I am unsure of how they go about getting a similar or largre income than a full time job. Forgive my naievity (splelling)

0
0

Re: Obsolete tech

I worked on a system where, bizarrely, my employer had been contracted to convert a system from CORAL-66 to FORTRAN-77. Never really understood why. Rumour had it that the CORAL-66 compiler for the PDP-11 was shite. Also there was a lot of PDP-11 assembler (using 2 completely different macro libraries) and some assembler for some obscure SIMD array processor.

Small boys, 3 way gotos for goal posts, isn't it? Hmm?

1
0

Re: Obsolete tech

I used to like Coral66. The m/c that I was using at the time (an ICL1904S) had a limit of 2K for user programs and I managed to fit a lot of Coral66 into that space (although I did used PLAN macros in the Coral66 source to squeeze even more power). My first High Level Language was Fortran IV using WATFOR. I am sure that there are still thousands of programmers still working from 'my' generation.

There used to be a saying that a good programmer could write in Fortran in any language.

So, NASA, if you want us, just reply - we are ready and able.

2
0

Old (OLD!) programmer here -- Burroughs ALGOL, DC-ALGOL and ESPOL, Fortran II (IBM 1620 and SDS 930), Fortran V (Univac 1108), IBM 1401 and S/360 assembler, ... Those were the days. Amazing what we could do in a few K of memory and cycle times less than 1 MHz.

5
0
Silver badge

Damn! I forgotten Burroughs made computers!

1
0
Silver badge

Don't forget the BUNCH

Burroughs, Unisys, NEC, CDC, Honeywell - anything but IBM.

And then when Honeywell and Fairchild were bought out, "Fair Well, Sweet HoneyChild."

Burroughs was, to my recollection, the first company to actually make a commercial computer that used virtual memory.

God this is all so much fun. I hope it keeps on going until my dying day.

5
0
Silver badge

Re: Don't forget the BUNCH

Before that it was IBM (I've Been Moved) and the 7 dwarfs - BUNCH plus RCA and one other.

2
0

Cycle times < 1MHz

More like cycle times of 1 Hz :)

1
0

Re: Don't forget the BUNCH

don't forget GE, Xerox,CDC,TI and Cray were players in the mainframes in the 70s There were a lot more smaller computer corps in the field too..

1
0

Re: Cycle times < 1MHz

Clock rates <1MHz. 4 clocks per cycle if you were lucky :-)

1
0
Alien

What's the FORTRAN code for "Learn all that is learnable and return that knowledge to the Creator"?

5
0

I wasn't aware that FORTRAN was used to 'code' trite sayings.

At least it isn't in my copy of McCracken...

4
0
Silver badge

VYGR

5
0
Coat

Simply

END

As in Fortran GOD is implicitly real

5
0
This topic is closed for new posts.

Forums

Biting the hand that feeds IT © 1998–2017