Persistence (computer science)

[1][2] Picture editing programs or word processors, for example, achieve state persistence by saving their documents to files.

Persistence is said to be "orthogonal" or "transparent" when it is implemented as an intrinsic property of the execution environment of a program.

An orthogonal persistence environment does not require any specific actions by programs running in it to retrieve or save their state.

Research prototype languages such as PS-algol, Napier88, Fibonacci and pJama, successfully demonstrated the concepts along with the advantages to programmers.

Notebook hibernation is an example of orthogonal persistence using a system image because it does not require any actions by the programs running on the machine.

An example of non-orthogonal persistence using a system image is a simple text editing program executing specific instructions to save an entire document to a file.

This is achieved in a non-transparent way by requiring specific storage-API calls or in a transparent way with automatic program transformation.