Recode, Repeat

incompatibility interoperability life modularity reflections reuse software

Will Faught

1 minute

It’s a shame how much software is rewritten all the time. Incompatibilities of language, interface, and execution platform and the proprietary nature of most software development seem to have doomed us to forever reinvent the software wheel. The number of linked list implementations out there must be staggering. In a perfect world, someone would decide a linked list would be a nice thing and implement it, and then everyone else would use that one implementation from then on. Sadly, the reality of software today is that one person’s implementation of even a very generic data structure probably won’t satisfy the needs of other people. There’s a missing link in the software systems we use that would let us create abstractions that anyone can reuse for their own needs.

π