On 30 Jan 2016, at 8:13pm, Yannick Duch?ne <yannick_duchene at yahoo.fr> wrote:
> In my opinion (which some others share), OO is a bag of miscellaneous things > which are better tools and better understood when accosted individually. Just > trying to define what OO is, shows it: is this about late binding? (if it is, > then there sub?program references, first?class functions, or even static > polymorphism and signature overloading) About encapsulation? (if it is, then > there is already modularity and scopes) About grouping logically related > entities? (if it is, there is already modularity, and sometime physically > grouping is a bad physical design). There are a number of problems in using a relational database for object-oriented purposes. One is that to provide access to stored objects you need to access the database in very inefficient ways which are slow and are not helped by caching. You can read about some of the problems here: <https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch> There are databases designed from the ground up as OO databases. Or rather as ways to provide persistent storage for objects. They tend to be non-relational databases, optimised for efficiency in making changes to objects rather than searching and sorting. You can use SQLite like this. In fact implementing persistent object storage in SQLite would be a wonderful exercise for a programming class. But it might result in a solution too slow to be useful for real programs. The biggest pointer for this is that it hasn't been done. There's no library to implement persistent object storage that everyone knows about. Simon.