4 ms·
This sounds more like a riddle... But at the face value, it's hard not to wonder whether you'd like to preserve a functional program, or its source code, or it
by zoomablemind 4y ago
This sounds more like a riddle...
But at the face value, it's hard not to wonder whether you'd like to preserve a functional program, or its source code, or its architectural and design ideas?
Either way, your current perception of the program is likely tied to the current technology or perhaps even whole ecosystem around it.
So to preserve something like that, you'd need more than just storage.
If it's just for the source code, as in text, then as golden rule of backup goes - keep many copies in distributed but known locations. In other words - diversify and distribute. Whatever storage digital, or analog, or organic, as in human memory (storytelling is a type of storage too).
Though, likely, you mean the functional program. Thus you'd need to preserve the platform too, along with build tools. So, at least some system specs need to be preserved or a VM image for more or less stable virtualization envs.
- strogonoff 4y agoThe understanding of the original real-world problem, the very idea of a solution, and the language-agnostic mapping of that solution to program architecture (making good use of existing patterns and algorithms[0]) is the genius, the core value of high-level programmer’s work. These ideas, as well as the appropriate external context, can be captured using any medium, be it analog or digital, since no one came up with a better way to convey it than text and possibly some diagrams. It is part of the reason I consider well-written and well-structured high-level documentation more critical than tests or even functioning program itself. The latter are lossy, narrower representations. [0] If there is anything novel as far as specific patterns and algorithms involved, they can be appropriately formalized and documented in isolation of the larger program and also in a language-agnostic way.
- trop 4y agoIndeed, there's an argument that the culture around anything (including software) is the main thing. And if the culture thrives, then that becomes the stable backup (or rather stable living vessel). Isn't there a Linus Torvalds quote that he has the world's largest distributed backup system for his code? But the point isn't that he bamboozled people into keeping copies of the Linux source everywhere -- it's that he started and oversees a living and helpful project. I had a teacher who was known as a master printer. Students would ask, "How can I make a truly archival print?" His answer: "Show me something you make worth keeping, and I'll tell you."