Permacomputing is a concept and movement which consists on extending the longevity of information technology (IT) devices and data preservation.

Permacomputing is the antithesis of planned obsolescence (and anything related to it) and bloat.

Permacomputing focuses on:

  • Simplicity (see KISS) and minimalism. Because "complexity bad". Though, this is not a core value, it's actually a means to an end.
  • Stability. "If it ain't broke, don't fix it". But I prefer Chesterton's Fence.
  • Sustainability. The most important one!

Programming languages

If you've seen my Unix article, you probably already know that POSIX utilities are the best practical/pragmatic choice. Most notably, sh and C are the most popular, so you can assume they're portable simply because of their ubiquity. There's even a project that allows compiling C into extremely-portable executables.[1]

100R recommends Forth.

There's also Zig, which has "reusable software" as part of its slogan. It also has good-enough C interop. However, it's still in an API-unstable state, so you'll have to wait before everything is settled.

If you're a permacomputing extremist, I'd recommend more "universal" langs, which tend to be Turing tarpits:

  • The λ-Calculus family is, IMO, the most minimal of all. No way to beat it![2]
  • The Lisp family is the best example of syntactical/grammatical simplicity. But some can be semantically complex.[3]
  • Any lang that has an almost 1-to-1 mapping to Turing Machines (such as Brainfuck), is also a good candidate, since they're easy to implement on real computers. But they can be quite slow because of their sequential-access memory. You might want a RAM.

If you care more about reliability and fault tolerance than simplicity:

Why

Here's a quote from 100R (links added by me; typos corrected):[4]

Many of the tools that we thought we could rely on broke down, whether it is Apple products, or software that require subscription services, DRM, etc. As an artist you spend time developing a skill, you become a Photoshop illustrator. When your connection to the internet fails and that the software locks up, that skill that you thought was yours was actually entirely owned by someone, and can be taken away. Even though we've been paying for this sort of software for years, the moment that you can't have access to authenticate yourself that skill is gone. We didn't expect this, it scared us.

Here's one from Maxime Chevalier-Boisvert (links added):[5]

We live in a world where software is increasingly complex, and increasingly fragile as a result. It's very easy to end up in a situation where software that was working just fine a few months ago can no longer compile and run due to broken dependencies. One of the main goals of UVM is to combat the phenomenon known as "code rot" or "bit rot".

[...]

There seems to be a growing interest in retrocomputing, and that interest likely stems, in large part, because the complexity of modern computer systems and their software environment is extremely high, and there is constant unnecessary churn, which becomes exhausting. At some point, programmers just want to build, and there is a natural desire to declutter and have fun.

See also

References

  1. https://justine.lol/cosmopolitan/
  2. Tunney, Justine (2022-02-27). "Lambda Calculus in 383 Bytes". Retrieved 2026-04-26.
  3. Tunney, Justine (2021-10-30). "SectorLISP Now Fits in One Sector". Retrieved 2026-04-26.
  4. https://100r.co/site/weathering_software_winter.html
  5. https://github.com/maximecb/uvm/blob/778114c4adf9a928a77c3491bb8dd3c1e464fd84/doc/vision.md