Earlier quoted context omitted.
1. Why would it be particularly difficult for them to have soft deletes in Rails or at scale? 2. Like the article suggests, additional UX improvements could be made besides making it possible to restore a backup or providing an undo action. 3. I feel you are ignoring the fact that technology-wise it was probably Rails along with its MVC model that got them into their scale in the first place. 4. Had they focused on a…
> 1. Why would it be particularly difficult for them to have soft deletes in Rails or at scale? I don't know the internals of Github. But we had soft-delete dragging down our database. Indexing, for one, becomes tough. It also presumes everything lives in a single, canonical, transactional database. In real life, anything of scale, with legacy lives in multiple services. There'll be caches, search-indexes (elastic et…
For one thing, because it works very well and is much easier to wrap your head around than the command pattern (much less undoing a command, and keeping track of which commands make incompatible changes).
These things are worth the effort if you are going to build an app that will be around for ten years and serve an existing market. Much harder to justify if you are still figuring out what you actually need to do.
Like, I agree with you that most developers just don’t know about it yet, and therefore don’t use it, but that’s also a factor of MVC just being the right choice for 90% of all apps, and easier to get started with.