10

Today, we "save" the file we're working on to disk. This terminology appears to be specific to architectures combining volatile and non-volatile memory. I also distinctly remember a "load/store" naming scheme from my youth, and "commit" from times well before git.

By what other names has this operation been known historically? Was similar functionality (logically committing the changes) called differently in machines without volatile memory?

(Note: there is a similar question related to this here - When did the floppy disk icon become the standard symbol for the “save” function in user interfaces? - but my question is about how it came to be called the save function and what other names it had.)

10
  • 3
    CTSS had SAVE in the (to me) common sense of writing a core image from the current content of the user's core. So as far as interactive systems are concerned, I'd say SAVE has always existed under that name. The use for writing out the data that a program is currently working on seems like an obvious extension to the use of the word.
    – dave
    Commented Apr 13 at 12:50
  • 4
    I think your distinction between volatile and non-volatile memory misses the mark. The distinction (at least on systems with drums and disks) is between program 'operational' memory and file systems. A file system is where you expect your data to still be there tomorrow, long after your program ended. Not all non-volatile memory was arranged into a file system.
    – dave
    Commented Apr 13 at 13:09
  • 2
    In some cases there was no command. You simply turned on the paper tape punch on your ASR-33 and then listed out, or ran, your program. That the system used core memory was irrelevant.
    – HABO
    Commented Apr 13 at 13:28
  • 1
    On systems where data was saved on paper tape or punchards, did any use "PUNCH" as the command?
    – Barmar
    Commented Apr 13 at 16:28
  • 1
    @Barmar - several, for example, TOPS-10, After all, using PUNCH to punch seems as obvious as using PRINT to print. Whether PUNCH was for cards or tape was either a matter of system heritage or (as on TOPS-10) local convention.
    – dave
    Commented Apr 13 at 23:47

2 Answers 2

11

read and write are the normal terms used by programmers to send or retrieve data to a stream which may or may not exist on non-volatile storage, along with open, close etc...

SAVE certainly goes back to BASIC in the 60s, and probably before!

For example, WordStar 1.0 (1978) used ctrl-KS to Save the current file, but ctrl-KW to Write the currently selected block of text to a file.

Similarly, the vi text editor for Unix (1976) used :w as a command to write the current file. This followed the ed line editor (1969) which also used w to write the memory buffer to a file. In both cases write referred to the action of copying all the text in the volatile memory to non-volatile storage.

This historical terminology still occurs in modern software. For example Blender 3D still references:

CTRL-W. Write file. This key combination allows you to write the Blender file without opening a FileWindow.

As noted in the comments, software such as "Expensive Typewriter" for the PDP-1 (1972) used P to 'punch' the current buffer to tape.

9
  • 2
    In my experience, 'save' is applied at a different level than 'write'. A save likely requires many writes.
    – dave
    Commented Apr 13 at 12:56
  • 1
    IMO, "read" and "write" are the names of lower-level abstractions than "load" and "store." "Load" and "store" describe what you want to do with some data. "Read and "write" operations are how the program does it. Commented Apr 13 at 17:15
  • 1
    @Solomonslow sure, that's your interpretation of the question. It says "By what other names has this operation been known historically?" "This operation" could refer to the operation by the user, or by the program. Commented Apr 13 at 18:08
  • 1
    Thanks @TonyM. I believe that the purpose of comments is to improve the answer, and I welcomed your input. The point of the original answer was that programmers would originally have used save or write and as they wrote the applications, either could have been adopted for users. The rest of the answer was only to add examples of how some applications adopted write as well. This was in response to your contribution. Commented Apr 14 at 17:07
  • 1
    Pleasure doing business, attitudes like yours do the site no end of good, quite honestly :-) My policy is: take what's useful from my comments, discard what isn't. Glad there was something useful in there, the answer reads well now and I'd upvoted. Have a great day.
    – TonyM
    Commented Apr 14 at 18:00
7

The IBM 1130 Disk Utility Program used "STORE". To store a freshly compiled binary from Working Storage to the User Area under the name "PROG1", you'd do:

// DUP
*STORE      WS  UA  PROG1

It was crucial to put in exactly the correct amount of white space.

4
  • 1
    "White space?" If I was to guess, I'd guess that those two lines were card images. Cards don't got "whitespace." Cards have columns. I'd guess that it was crucial to put the different parts of that command in the proper columns. Commented Apr 13 at 22:10
  • Unpunched columns are white unless you're using colored cards ツ
    – John Doty
    Commented Apr 14 at 12:22
  • I've never seen a white punch card. They were mostly a sort of cream colour. I propose 'creamspace' as the appropriate term for unpunched columns. Often, creamspace was printed as greenspace.
    – dave
    Commented Apr 14 at 17:45
  • Reading through documentation for Univac machines there seems to be a move from store to save as you go from the 50s to the 70s. Commented Apr 24 at 10:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .