A few questions come to mind while reading about Salzman & Aldrich's PMD which combines multiple-dispatch and prototype OO, while eschewing Java/C# style class-based OO. Any experience/thoughts with respect to both language design and language use?
- Seems like the advantage they claim for the prototype approach is that behaviour really is part of the object, not the class. This allows one to remove complex conditional logic from inside methods, replacing it with specialized methods based on state.
- Question: taken to the extreme, would this mean any time you have a conditional which tests member data, you instead make a new object? How crazy does that get for understanding the code? Or for the VM dealing with the combinatorial explosion of objects?
- (less directly related to the paper...) Both the network approach of OO and the relational approach can run into broken references.
- Question: Is it generally the case that the OO approach leads to deferred runtime exceptions or leaks, whereas the usual approach with constraint/integrity checking in a relational database gives you the errors more "up front"?
- Question: Could one have some sort of integrity checking for the network model that would help show errors earlier?
Recent comments
27 weeks 1 day ago
27 weeks 1 day ago
27 weeks 1 day ago
49 weeks 2 days ago
1 year 1 week ago
1 year 3 weeks ago
1 year 3 weeks ago
1 year 5 weeks ago
1 year 10 weeks ago
1 year 10 weeks ago