4 ms·
> as long as you build a data interop layer of some sort (JSON, etc.). I imagine that if it were powering a web app, dual-deployment would become an additional
by wwweston 11y ago
> as long as you build a data interop layer of some sort (JSON, etc.). I imagine that if it were powering a web app, dual-deployment would become an additional (but potentially manageable) concern during the "transition" period
Which brings up an interesting idea:
* All codebases are in some kind of inflight transition. Usually not migrating across languages, but often migrating across authors and authoring styles, sometimes migrating across underlying platforms. So, things that make these inflight transitions easier might well be practices one should consider adopting.
* The "data interop layer" might simply be another way of understanding another principle: if your data structures/formats are (a) legible and (b) well-fitted to your problem domain, your program is probably going to be easier to understand and modify... maybe even when it comes to modifications that might seem extreme.
Or to use words attributed to Linus Torvalds: "Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
- agentultra 11y agoWhen you think about the data first you can usually synthesize the program. It's almost a game now to try and write a DOOM engine from only the description of the WAD format and its wonderful documentation. I'm under the impression that if you think about your data and how to serialize it first the code will fall out of it. So I'm starting to think more about formal specifications and documenting serializations formats first and worrying about the code second. update: punctuation corrections
- pmarreck 11y agoSo, data-driven development, basically? https://en.wikipedia.org/wiki/Data-driven_programming https://en.wikipedia.org/wiki/Data-driven_programming
- agentultra 11y agoData-driven design[0] and formal methods[1]. update [0] http://dataorienteddesign.com/site.php http://dataorienteddesign.com/site.php [1] http://research.microsoft.com/pubs/64638/high-level.pdf http://research.microsoft.com/pubs/64638/high-level.pdf
- pmarreck 11y agoRelevant (and great) talk: https://www.destroyallsoftware.com/talks/boundaries https://www.destroyallsoftware.com/talks/boundaries