The engineers who designed the #Voyager probes half a century ago even thought of the possibility that a wrong sequence of commands may point the antenna dish away from earth (like someone did a couple of days ago).

And they implemented a self-adjusting mechanism that a few times a year scans the positions of a few known stars to infer the position of the earth, and point back the antenna in the right direction.

50 years later, these wonderful machines are still working, tens of billions of km away from earth, with only 69 KB of RAM, and even a wrong sequence of commands won't put them out of use, while nowadays 4 GB of RAM aren't even enough to start VsCode or IntelliJ.

The more I understand how they were designed, the more I feel like an early Medieval engineer looking at the Pantheon or other marvels of Roman architecture. Some amazing skills, knowledge and attention to details have been lost from that generation to ours.

@blacklight While I agree that Voyager is a marvelous example of code, I disagree that we lost something over time. 😉

1. In those days there are also created a bloated or buggy software, but today we don't remember it. Using the comparison to masonry, because it collapsed. 😀

2. It is hard to compare two completely different types of software. If desktop software would be created in the same way as airspace one, it would be a few thousand times more expensive and slower to deliver.

@thindil indeed... Over 50 years only the good stuff survives. It doesn't matter if that is software or a building. The bad versions are buried and forgotten.
@blacklight
@vosje62 Time is the best medicine... but also the best Q&A department. 😁
@vosje62 @thindil @blacklight Partly true. We would remember either of the Voyager craft even if they'd died due to a bug after 25 years. As long as the other/both haven't, at least, we will remember both, for a long time.

@thindil good point - thanks for pointing out the potential "survivorship bias" there.

But even when we take into account the "fallen buildings" from that era, I still feel like some of that craft has been lost.

When I look at some of that old code (I'd say up to mid 1980s), I see mastering of bitmasks, hammering data into registers and memory blocks, craft of memory allocation and usage (some of the coders from those years even wrote their own little garbage collectors before Java and friends came around, or were masters in optimizing stack usage/unwinding). In short, doing great things with the little resources that were available to them.

Even if most of those "buildings" have "fallen", and we admire the few that are still functioning at the edge of our solar system, it doesn't mean that the techniques of the time weren't authentic engineering wonders that we've lost in an age where we take so many abstractions for granted.

@blacklight True, when I'm looking at a code, especially which coming from HIS, almost always it is a bit magical code. 😉 There are reasons for that:

1. Programmers have a lot of time for tinkering with the code.
2. Many programmers there are very experienced.
3. When creating that kind of software, there is an access to really powerful tools, often even unknown for others.

I think, young people of today will someday do something better, as we improved in other fields over time. Eh, 500 limit.