I don't care about reimplementations

Published: Tue 01 June 2021

In software.

There is a category of software [1] that I simply can't bring myself to care about.

That category is reimplementations.

What do I mean by that?

Now, when I say "reimplementation", I mean a thing that provides the same interface to me as another thing and can be used instead of it.

It doesn't have to be exactly the same interface - there can be a few extensions here and there, but as long as it looks to me like the same thing I'm just not interested.

Some examples of reimplementations:

  • Different C standard libraries - glibc, musl, the ones for the BSDs, ...
  • Processor architectures - Arm, MIPS, POWER, RISC-V, ...
  • Filesystems - xfs, jfs, qfs, gfs, bfs, tfs, lfs, ... [2]


Well, because they look the same to me. I don't really care about the instruction set my computer uses, because I just fire up the compiler and that does its thing [3].

A corollary to this is obviously that I do care about the user-visible effects of the choice. Things like performance and compatibility matter to me, but that means messing around with these isn't something that interests me. I already know that (on Linux) glibc is the compatible option, so I simply don't care to try musl.

Basically, what I want is for things to do something cool, not the same thing but "cleaner" or in a different language. Yes, this does mean I don't care about things rewritten in rust. Make your rust program do something better! Make exa, not "ls in rust".


This is a bit of a farty-barty post, and I don't expect everyone to agree with me. I know there are plenty people who deeply care about alternative processor architectures. And that's fine! I'm not here to yuck anyone's yum! I just want to explain my side of the story.

And, well, that's it. See y'all next time, whenever I get around to posting.

[1]Well, and hardware
[2]I'm not sure all of these exist
[3]Or, more likely than not, I just use pre-built software.