Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Thursday November 05 2015, @07:55PM   Printer-friendly
from the the-sky-is-NOT-the-limit dept.

If you thought Fortran and assembly language programming is pointless and purely for old-timers, guess again.

In an interview with Popular Mechanics this month, the manager of NASA's Voyager program Suzanne Dodd said the retirement of the project's last original engineer left the space agency with a shortage of people capable of communicating with the 40-year-old craft.

[...] "Although, some people can program in an assembly language and understand the intricacy of the spacecraft, most younger people can't or really don't want to," Dodd was quoted as saying.

With high-level languages now the standard for developers, knowing how to fluently code in assembly has become a specialized skill, as has fluency in languages such as Fortran. While obscure, the skill set is potentially lucrative. Along with NASA's aging fleet of spacecraft, many businesses still rely on languages such as Fortran or COBOL for specialized tasks and critical infrastructure.

[...] According to CNN, 80-year-old Larry Zottarelli is retiring from NASA next year, and he is the last original Voyager probe engineer. He will be replaced by a younger engineer, who has spent a year learning the ropes, we're told, proving that knowing a little bit about yesterday's technology can go a long way into the future.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Interesting) by stormwyrm on Thursday November 05 2015, @10:36PM

    by stormwyrm (717) on Thursday November 05 2015, @10:36PM (#259138) Journal
    I'd hardly call the 80x86 instruction set boring. It is so irregular and unorthogonal that writing highly optimised code for it is an interesting challenge. Michael Abrash wrote a book back in the day called the Zen of Assembly Language about the art of doing so. But these days the performance gains from highly optimised assembly language on modern desktop computers are essentially pointless for all but the most specialised applications, so it's not worth the effort otherwise. Compilers produce code that runs fast enough for almost all applications and even if you could in theory tighten things up with assembly, perhaps even achieve substantial performance gains that way, the compiled code is usually more than good enough to make the effort not worth the bother. It would have made sense up until the late nineties or so I think, but definitely not today. These days we have the silicon that can tolerate us being such slackers.
    --
    Numquam ponenda est pluralitas sine necessitate.
    Starting Score:    1  point
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 0) by Anonymous Coward on Friday November 06 2015, @03:39AM

    by Anonymous Coward on Friday November 06 2015, @03:39AM (#259265)

    X86 is the hardest instruction set I had to learn because it was so damn filled with restrictions, special cases, and few registers. I never felt that it should be programmed by hand--only used as the target code of a compiled language. It was also about the worst ISA to teach someone assembly language programming for that reason. More straightforward ISAs included Motorolla 68000 or the 6502. Nowadays, ARM is a good ISA. X86 is just a pointless trainwreck.

    • (Score: 2) by stormwyrm on Friday November 06 2015, @04:06AM

      by stormwyrm (717) on Friday November 06 2015, @04:06AM (#259269) Journal

      X86 is the hardest instruction set I had to learn because it was so damn filled with restrictions, special cases, and few registers.

      That is precisely what makes programming x86 so interesting, as you have to hack your way around these restrictions to get anything done. To be able to get stuff done quickly is a whole other ability that verges on black magic. I have never seen any compiler that can compete in performance with well-optimised x86 assembly done by hand. I agree 68000 was a much more straightforward ISA, but the 6502? I remember programming machine language for that as well (as the 6510 in my old C-64) and I remember that it was even less straightforward than x86, with even more restrictions and special cases and even fewer registers. It was used by Apple, Commodore, and Atari back in the day because it was so cheap, and the programmers of the day had the ability to race the beam and work around the limitations of their platforms to do their wizardry. On the other hand, these regular architectures like m68k and ARM are fairly boring to program in assembly for by comparison, so much so that a machine could do it, and should do it in most cases.

      --
      Numquam ponenda est pluralitas sine necessitate.
      • (Score: 2) by sjames on Friday November 06 2015, @06:15AM

        by sjames (2882) on Friday November 06 2015, @06:15AM (#259319) Journal

        Back in the day, optimizing compilers weren't so optimal and the machines were slow (by today's standards) such that going to assembly crossed significant thresholds. It allowed us to do things that just weren't possible in C (and especially in BASIC). These days not so much. The C compiler will produce asm that is as fast or faster than what a skilled programmer might produce.

        C is the new assembly language. If your Java or Python program isn't quite fast enough at some critical point, write that part in C and call it. Even in the rare case that you need some special feature of the processor not supported in C, it makes more sense to wrap a bit of inline assembly in a C function.