In the early days of programming, it was used to hand-check a program and as permanent storage. It was also common in 1970s and 1980s computer enthusiast magazines (for instance Creative Computing) and books like BASIC Computer Games for type-in programs.
Today, hard copy listings are seldom used because display screens can present more lines than formerly, programs tend to be modular, storage in soft copy is considered preferable to hard copy, and digital material is easily transmitted via networks, or on disks or tapes. Furthermore, data sets tend to be too large to be conveniently put on paper, and they are more easily searched in soft-copy form.
Assembly-code listings are occasionally analysed by programmers who want to understand how a compiler is translating their source code into assembly language. For example, the GNU C Compiler (gcc) will produce an assembly code listing if it is invoked with the command-line option -S.
"A computer program listing for the purpose of this section is defined as a printout that lists in appropriate sequence the instructions, routines, and other contents of a program for a computer. The program listing may be either in machine or machine-independent (object or source) language which will cause a computer to perform a desired procedure or task such as solve a problem, regulate the flow of work in a computer, or control or monitor events. ... Any computer program listing may, and any computer program listing having over 300 lines (up to 72 characters per line) must, be submitted on a compact disc in compliance with § 1.52(e)."
- Options Controlling the Kind of Output, in the GCC 4.9.1 Manual, https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Overall-Options.html#Overall-Options
- Manual of Patent Examining Procedure 37 C.F.R. 1.96, http://www.bitlaw.com/source/37cfr/1_96.html, 9th Edition, March 2014