(n.) The part of a computing system that is not hardware. A distinction may be made between system software and application software, or programs. System software typically includes an operating system that controls other programs; user environment software, such as a command line interpreter, a window system, and a desktop; tools for building other programs, such as assemblers, compilers, linkers, libraries, interpreters, cross-reference generators, and version control; debugging, profiling, and monitoring tools; and utility programs for sorting, printing, editing, and so forth. Application programs perform functions, such as accounting or designing. Such software includes both source code written by humans and executable machine code produced by assemblers or compilers. It does not usually include the data processed by programs, unless this is in a format such as multimedia that depends on the use of computers for its presentation.