Software is a general term used to describe a collection of computer programs, procedures, and documentation that perform some task on a computer system. Practical computer systems divide software systems into three major classes: system software, programming software, and application software, although the distinction is arbitrary and often blurred. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. Software is typically programmed with a user-friendly interface that allows humans to interact more more efficiently with a computer system.