The software as a program consists of a code into a machine language specific to an individual processor. The code is an ordered sequence of instructions that change the state of the hardware of a computer.
The software is usually written in a language of high-level programming, which is easier to write (it is closer to natural human language), but must be converted to machine language for execution.
The software can be distinguished into three categories: system software, programming software and application software. Anyway, this distinction is arbitrary and sometimes software can fall a number of categories.
- System software: operating aid and computer hardware. Includes the operating system, device drivers, diagnostic tools, servers, windowing system, utilities and more. Its purpose is to avoid as much as possible the complex details of the computation, especially memory and hardware.
- Software programming: provides assistance to the developer tools. Includes text editors, compilers, instruction interpreter, linkers, debuggers, etc.
- Software Implementation allows end users to do certain tasks. Some software applications are browsers, text editors, graphic editors, antivirus, messenger, etc.