Xref: utzoo comp.object:3762 comp.lang.c++:14272 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!sdd.hp.com!zaphod.mps.ohio-state.edu!wuarchive!uunet!mcsun!ukc!mucs!m1!rob From: rob@cs.man.ac.uk (Robert Marshall) Newsgroups: comp.object,comp.lang.c++ Subject: Re: Persistence in c++ Message-ID: Date: 20 Jun 91 12:43:09 GMT References: <7087@gara.une.oz.au> Sender: news@cs.man.ac.uk Followup-To: comp.object Organization: Department of Computer Science, University of Manchester Lines: 98 In-reply-to: mwirth@gara.une.oz.au's message of 19 Jun 91 13:52:38 GMT In article <7087@gara.une.oz.au> mwirth@gara.une.oz.au (Michael A. Wirth) writes: > Does anybody have any code for object persistence in c++? I have some examples > in Turbo Pascal, but do not know how to implement it in c++. Back at the end of May In article <1991May28.164803.1@manse.cs.man.ac.uk> marshall@manse.cs.man.ac.uk (Robert Marshall) writes: Lines: 21 > Does anyone know of any public domain C++ generic classes which support > persistency? I suppose I ought to give a summary of responses. Many thanks to all who replied: jls@netcom.com (Jim Showalter) Stephen J Bevan Paul Ganschow m.flower@trl.OZ.au (Michael Flower) brian@babbage.csus.edu (Brian Witt) ericp@bach Niklas Hallqvist ed@ccs.yorku.ca perty@nmpcad.se (Per Lundholm) Most people who suggested something mentioned NIHCL (as we at present only have access to g++ that's a problem) Stephen J Bevan suggested: |No, but you could use Modula III or Eiffel, both of which allow |objects to be saved to disk and then retrieved. You can even get a |copy of the former for free by ftp. Paul Ganschow mentioned Code Farms Inc.: |A company called Code Farms Inc. produces classes which provide support for persistent objects. Their address is |Code Farms Inc. |7214 Jock Trail |Richmond, Ont., K0A 2Z0, Canada | |Tel # 613-838-4829 |Fax # 613-838-3316 |eMail: jiri@dgbt.doc.ca | |I talked to them at SCOOP West and found them to be knowledgeable about | giving objects persistence. I have not as yet used their products. m.flower@trl.OZ.au (Michael Flower) mentioned RogueWave: |The RogueWave libraries support persistency. They are not public domain, but are |so cheap that they almost are. A single license is US$50 and a site license |US$150 (and that includes source!). | |You can contact rwave!keffer@CS.ORST.EDU for details. brian@babbage.csus.edu (Brian Witt) suggested the following: |Check out the "E" language by Joel Richardson (currently of IBM) |and Michael J. Carey (Univ of Wisconsin - Madison). I found an |article in "Persistent Object Systems", Workshops in Computing: |John Rosenberg and David Koch (Eds.), Springer-Verlag, 1990. |IBBN 3-540-19626-9. Page 175, Abstract: | | The E language is an extension of C++ providing, amoung | other features, database types and persistent objects. | The basis of peristence in E is a new storage class for | variables, and physical I/O is based on a load/store | model of long-term storage layer. This paper describes | in detail the implementation o fthe first E compiler | and discusses our current research direction. | |(typos are mine) | |They describe a database model EXTRA and the EXCESS query language |using the EXODUS storage manager. A stack example the pops from |a persistant stack. The main pops, and then pushes ten numbers. |The first time it runs, nothing is printed. The second time it |runs, the program pop's the ten numbers pushed last time you |ran the program! They provide hacks to cfront to recognize their |special storage types, which change the variable "type" slightly. | ||From the author addresses' listing: | M. J. Carry: carey@cs.wisc.edu | Joel Richarson: jolr@ibm.com | | |The book describes other systems presented at the workshop in Newcastle, |Australia 1989. Also mentioned is the PS-Algol system, which also |implements persistance. It seems PS-Algol is almost (?) a commercial |system. Ie, it is real, and not a theory paper. Niklas Hallqvist suggested some home written classes. Thanks again. Robert -- ------------------------------------------------------------------ Robert A.J.Marshall, EMAIL: rmarshall@cs.man.ac.uk Room 3.08, IT Building, Department of Computer Science, University of Manchester, Oxford Road, Manchester, M13 9PL, U.K. Tel: (+44) 61-275 6269 Fax: (+44) 61-275 6280 ------------------------------------------------------------------