3 ms·
one of the benefits of expressing business logic in a high level declarative language like SQL is that the order isn't specified and can be reversed depending o
by gfody 6y ago
one of the benefits of expressing business logic in a high level declarative language like SQL is that the order isn't specified and can be reversed depending on the execution context. a perfectly sargable and streamable view definition for example can end up on either side of a join in some execution plan with data streaming in either direction, and the same code can power filtering as well as generating.
- einpoklum 6y agoWhere order isn't specified, that doesn't mean it can "be reversed". It's just not part of the relevant state. So, I would say that's orthogonal to the issue of reversibility of computing.
- gfody 6y agofair I guess but that's awfully pedantic. today we can write code that runs backwards and forwards but it's because a compiler is generating multiple versions based on context - if we achieve physical reversibility then maybe one version could do. "computing" has many layers - I don't think it's off topic to include the high level ones in the discussion
- gjm11 6y agoIt's not "awfully pedantic"; the thing you were talking about has nothing to do with the sort of reversibility being discussed here, other than the name.
- gfody 6y agogot it, "reversible computing" has nothing to do with writing code that can run backwards or forwards, nothing at all, I may as well be talking about the weather and here you guys are trying to have a serious conversation about theoretics ;) I'll see myself out - never change, HN!
- gjm11 6y agoThere are different senses of "forwards and backwards". There's nothing particularly wrong with yours, there's nothing particularly wrong with the other one, but they aren't the same. "Reversible computing" here means that you can run it backwards in the sense of undoing what was done by running it forwards. You're talking about data flowing in opposite directions, while in every case your program runs forwards doing its thing.