4 ms·
Boy, you missed the point. Undo here isn't about user-undo. It's about when the program can't continue, you need undo all incomplete state changes and return to
by damienkatz 15y ago
Boy, you missed the point. Undo here isn't about user-undo. It's about when the program can't continue, you need undo all incomplete state changes and return to a previous state. Really this article is about the lack a transactions in programing languages, and how error conditions cause problems for software with long lived state.
The point about PHP is that it successfully does that precisely because the way it's architected. The state is kept the DB server where the transaction problem is solved.
When using long lived server processes, things tend to get in invariant states on error conditions unless you are very careful about how you are programming and dealing with state mutation and error condition. As ugly as it seems, PHP style development frees you from that.
I like your point about Chrome, it's a great architecture and it's actual quite similar original Apache PHP combo with the process isolation.
Anyway user level undo is still an important concept, but orthogonal to creating reliable software systems.
- nostrademons 15y agoYou could just tl;dr the article as "Use transactions". Transactions don't have to be tied to a database, and anyone with a CS background should know what they are.