Semantics of persistence in the glib programming language

  • Authors:
  • Daniel Gakh Libicki

  • Affiliations:
  • Celequest Corporation, Redwood City, CA

  • Venue:
  • Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The cornerstone of object-oriented programming is the representation of data as a set of objects. In all of the widely-adopted languages that claim to support object-oriented programming, however, the lifetime of an object is bound by the lifetime of the process that instantiated it. In real applications, the lifetime of data is almost never related to the lifetime of the process that created it. This impedance mismatch necessitates a great deal of repetitive, error-prone labor. A true object-oriented design language must be a persistent language; in other words, the lifetime of an object must be independent of the lifetime of the process.Many persistent languages have been developed in research settings. Most of these languages, however, have attempted to maintain backwards compatibility with some previous, non-persistent language, such as Modula-3 or Java. Glib, on the other hand, is a programming language designed from the outset to support object persistence. I propose that Glib's constructs are simpler and more powerful than those of its predecessors, and now that I have an OOPLSA poster displaying those constructs, you can judge for yourself.