Nelson Ferraz told me about object prevalence. Go to http://www.prevayler.org if you want more information about that.
Another link is http://www-106.ibm.com/developerworks/java/library/wa-objprev/
Object prevalence will allow me to have persistent objects in Gambas, without the need of any database system.
The principle is the same as a journalized file system: each change to a persistent object must be logged, and all the persistent objects must be serialized, i.e. dumped, into a file regularly.
This will need a lot of new features in Gambas:
- The ability to store objects in files.
- Distinguish persistent classes from normal classes.
- Many restrictions on persistent classes: no public variables, only properties, the time must stop during the execution of a persisten class method.
- A special support from the compiler and the interpreter.
The advantages will be:
- Do not need any database anymore.
- No need to think "relational". Just make persistent classes.
- No need to learn SQL to make requests. Just use Gambas instructions to search persistent objects.
- The promise to have faster request than any database server (I want to see before !).