Computer Software

Electronic devices like memory, input-output devices, and the CPU are made of plastic, silicon, and metal. This is the hardware of a computer. In a computer, it is the software that helps the machine store, process, reference information and perform other functions. Software refers to programs which incorporate instructions that make a computer work.
Computer Software can be divided in two categories:
1. System Software
2. Application Software

System Software
System software is computer software designed to operate the computer hardware and to provide a platform for running application software. It manages the operation of the computer itself.
The most basic types of system software are:
i) The computer BIOS and device firmware, which provide basic functionality to operate and control the hardware connected to or built into the computer.
ii) The operating system (prominent examples being Microsoft Windows, Mac OS X and Linux), which allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It also provides a platform to run high-level system software and application software.
iii) Utility software, which helps to analyze, configure, optimize and maintain the computer

Application Software
Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform.
Application software, also known as an application or an "app", is computer software designed to help the user to perform singular or multiple related specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with documents. Apps may be bundled with the computer and its system software, or may be published separately. Some users are satisfied with the bundled apps and need never install one.
Application software applies the power of a particular computing platform or system software to a particular purpose. Some apps such as Microsoft Office are available in versions for several different platforms; others have narrower requirements and are thus called, for example, a Geography application for Windows or an Android application for education or Linux gaming.

Machine Language and Assembly Language Programs

A program written in the form of zeros and ones i.e, in the machine - readable form is known as machine language program. Machine code is composed of binary numbers. The disadvantage of a machine language is that it is very difficult to write, understand and debug such a program. It is also very slow.
Instead of writing a program in zeros and ones, one can easily write a program in meaningful and easily-memorable alphanumeric symbols. these symbols are known as mnemonics. the programs written in mnemonics are known as assembly language programs which are easier to and faster to use.
Programs written in languages other than machine language are known as source programs. Such programs have to be converted into machine language to make them understandable by computers. A fully compiled or assembled program that is ready to be loaded into the computer is known as an object program.So the translation of the assembly language program into machine language is a must. The program that translates the assembly language program into a machine language program is known as an assembler.