Search your Topic HERE....

January 10, 2015

Software : Introduction and Types


sponsored links

Friends, we have already learnt about Hardware. We know that those items of the computer which can be seen and touched are called Hardware.

Suppose you have bought the Keyboard, CPU, Printer and Mouse to your home and operate the computer. Can you operate the computer when you switch it on ? The answer is No. Because hardware need Software's support. So we have to install Software to achieve results. Practically there are some special commands in computer language to operate the computer. For example, Windows, "C", Oracle, Visual Basic etc. The Operating Systems and the Languages used to get the work done by the computer as per our requirements are called Software.
A mere human body is not sufficient to work effectively. It can not make the individual a perfect man. There should be some thoughts, knowledge, common sense in that physical body. Then only the human being can work perfectly. In computer language, body means only Hardware. The thoughts, knowledge and intelligence that are necessary to human body can be termed as Software in computer terminology.

As how the human organs cannot work if the mind is not giving commands, any part of Hardware in the computer cannot work without the Software.

We can broadly classify the Software into two categories. Namely, System Software and Application Software.

System Software 

System Software refers to standard programs that control the operations of the Computer hardware. These programs are normally provided by the manufacturer at the time of the purchase of computer.

The programs consists of the following parts :
  1. Operating System (OS) : Operating System is the interface between hardware and the user. We will discuss this concept in a separate post later.
  2. Languages (Compilers) : These are the languages that a computer can understand. We will discuss this concept at a later stage. 
  3. Device Drivers : These are special programs to support the Input and Output devices.
  4. Utility Programs : These are used for the development of programs in the machine. 

Application Software 

These are the programs written to perform some specific tasks. Such as,
  • Word Processing
  • Spread Sheets
  • Accounting Packages 
  • Graphics
These programs are meant for the interface between the user and system software in order to perform specific tasks.

This software can, broadly be divided into two types.
  1. Packages and 
  2. Programs (or) Programming Languages 
Let us discuss one by one

1. Packages

Packages are ready made programmes developed by computer language experts. It is almost impossible for many of us to learn programming languages like C, C++, Java etc. As the layment cannot have sufficient programming knowledge like C, C++, Java, Visual Basic, the Packages have been developed for them for ready to use. Packages are meant for ready-made software without writing detailed programmes by the users. The users can work in packages just by remembering some icons and file names. For example, MS Word, MS Excel, MS Power Point are called packages. Normally to calculate the average of a student, we have to write a minimum of 5 lines program. Incase of packages, we need not write any programme. If we just type some formulae like sum, average etc, we will get answers.

2. Programming Languages 

The computers are merely electronic devices. They can not understand any language except machine language. So, we have to give instructions in machine language. But machine language is difficult to understand by user. Hence other computer languages, besides machine language, have been developed. 

We can classify the computer languages as under

Let us discuss each of them in detail

1. Machine Language
This is the language which can only be understood by the computer. As discussed earlier, the binary numbers 0 and 1 are called machine language. Every computer has its own machine language. As it is the own language of CPU, there is no need of another language for this machine language. 

Merits and Demerits of Machine Language 

  1. The machine language can be easily understood by the machine.
  1. Machine language is difficult to understand by a common man.
  1. It needs less memory in the machine.
  1. Machine language is not portable. This means a program developed in the machine language cannot be run on other systems.
  1. We can execute the language directly. We do not need any translators.
  1. It needs a high level of programming
  1. The bugs in this language cannot be easily be corrected or modified
  1. The operator should have full knowledge about the internal structure of the computer.
2. Assembly Language 
As mentioned above, it is very difficult to write programs in machine level language. In order to overcome this problem, assembly language was developed. In this language, some mnemonic codes (Symbols) are used in place of binary commands. The mnemonics serve as memory aids for the programmers. For example, instead of using "0010" which represents the "addition" in machine language, a mnemonic code "ADD" will be used directly. The computer will convert the assembly language into machine language with the help of Assembler (translator) as shown below.

Advantages and Disadvantages of Assembly Level Language

  1. It is easy to understand as mnemonics are used.  
  1. It takes more time as we have to combine both machine language and some symbols (mnemonics)
  1. It is easy to identify and rectify the mistakes (bugs)
  1. This language is not portable
  1. We can easily modify the total program. It is difficulty to modify the same in machine language.
  1. It is difficult to write programs in these languages.
  1. There is flexibility in writing programs as all details are within the accessibility of programmer.

3. Higher Level Languages 
These are simplest languages for programming. They consists of English like statements. Basic, Cobol, Pascal, Fortran, C, C++, Java etc., are the examples of Higher level Languages.

Advantages & Disadvantages of Higher Level Languages

  1. It is easy to  use this language as they are just like English statements.   
  1. It takes more time and more memory to run programs.
  1. The programmer need not remember all the steps in higher level language.
  1. There is less flexibility. There is no control for the programmer and he has to follow many rules in this language.
  1. There is portability. As the machine is independent we can easily translate the programs from one language to another.
  1. A translator is always needed. So it takes more time to translate the programs.
  1. There is an effective bugging system so that mistakes can be rectified easily.

Again the programs written in high languages shall be converted into machine language. Inorder to convert this high level language into machine level language, we need to use translators like compilers and interpreters as shown below :

Let us have a brief discussion about Compiler and Interpreter.

Compiler and Interpreter

These two programmes will convert the higher level languages into machine language. There is no major difference between these two. The compiler converts the entire program at a time and then executes whereas the interpreter translates each line of statement at a time and then executes. So if any changes are to be made in the program, they can be affected immediately in interpreter. Frankly both the interpreters and compilers act as translators. For example, in order to convert the most popular "C" language into machine language, we need "C" compiler. If you want to learn more about Compilers, you can check here.

That's all for now friends. In our next post, we shall learn about Operating System. Happy Reading :)
sponsored links


  1. when wil syndicate bank results be given?

  2. no idea dear..i m also waiting for the same

  3. nice post its for specialist officer?

  4. Sonu new india insurance company ao exam me nahi gaye kya

  5. These are basics and they simplified everything. So it will be useful for any exam.

  6. Satyannarayana YedlaJanuary 10, 2015 at 11:18 AM

    Comiler and intrpreter acts as a translated between high level language and machine level language right? Both are softwares...Is Evey high level language has its own compiler or interpreter or it is common to Alla high level languages such as c c++ java?if possible, Please explain me

  7. Good morning satya narayan

  8. @ Satyannarayana Yedla : Check this link. It will clear all your doubts

  9. IBPS CLERK 4 score OUT

  10. Satyannarayana Yedla : Check this link. It will clear all your doubts

  11. no i am not finding any link on

  12. ibps clerk score card out

  13. yes i got the score card link

  14. open the clerk section on and score card is not available for selected candidates for interview

  15. Satyannarayana YedlaJanuary 10, 2015 at 12:06 PM

    Wow! Great explanation. Now, I'm understood what is complier and what it does. Thank you very much madam.

  16. how many vacancies are there for IT OFFICER ?

  17. me too waiting but someone told that there is no job guarantee. is that true? there is bond also i think and we have to pay 3 lakshs or something like that

  18. Plz provide some
    Afairs quiz
    for sbi associates clerk..

  19. Bro state cutoff toh kahi mention nahi can u say that..

  20. thaks for the information


Related Posts Plugin for WordPress, Blogger...