| For the computer to perform any task, it needs to be given a set of commands to perform the task. These commands or instructions are termed as PROGRAMS or SOFTWARE. |
| Evolution of software Classification of software |
| Being an electronic digital device, the computer hardware can only understand instructions consisting of 1s and 0s. This language of 1s and 0s which is understood by the computer is termed as MACHINE LANGUAGE. In this language every operation such as addition, multiplication etc. can be represented using some combination of 0s and 1s. This method of representation for the programmer was not only difficult, but was also prone to errors. The next stage in development made use of mnemonic codes for various operations. The language called ASSEMBLY LANGUAGE used codes like ADD, MULT for addition, multiplication etc. Assembly language is easier to program in as compared to machine language. However, as the computer can only understand instructions given in 0s and 1s, an ASSEMBLER is used to translate Assembly Language programs to Machine Language and the translated program is then executed by the computer. To make the process of programming still simpler, HIGH LEVEL LANGUAGES were developed. These languages are very much like English in nature, and thus very easy to understand and program in. Some of the widely used high level languages are : PASCAL, C, C++, COBOL, BASIC, PROLOG etc. Today we have a vast base of software called Fourth Generation Languages (4GLs). The features of a 4GLs are : User-friendly & easy to learn Hardware-independent Application specific Menu-driven Code generators for the screens, reports, documentation Application generators Some of the most popular and widely used 4GLs are : dBASE, LOTUS 1-2-3, ORACLE etc. Like the assemblers used for assembly language, COMPILERS and INTERPRETERS are used for translating High Level Language programs to machine language. A Compiler translates the complete program at one shot and creates an executable file. An Interpreter translates and executes one statement of the program at a time. |
| Software is classified into SYSTEM SOFTWARE APPLICATION SOFTWARE |
| SYSTEM SOFTWARE controls the operations of the hardware and helps in running the computer system efficiently and conveniently. Operating Systems, Compilers, Assemblers etc. are classified as System Software. |
| APPLICATION SOFTWARE perform user tasks such as payroll processing, banking application etc. The Computer Based Tutor (CBT) that you are going through is also an example of Application Software. |