• Non-touchable part of computer.
• Used to describe the instructions, given to a computer.
• Program or group of programs.
• Computer instructions or data, anything that can be stored
electronically is software.
Types of Computer Software
Computer software can be categorized into following two categories:
1. System Software: includes those software that help in better
utilization hardware resources.
Example Operating System, Compiler, Disk Drivers etc.
2. Application Software: includes those software that helps in
performing a particular task such as creating a document, preparing a
presentation. These are general purpose software's.
Example: Ms-Word, Excel, Power Point, etc.
3. Utility Software: includes those software that generally comes
along with operating system used to perform basic activities.
Example: Disk Format Utility, Disk Defragmenter Utility, etc.
4. Customised Software : includes software which are specially
designed for a particular group of users.
Example: Software for a bank, hospital, business organization, etc.
• Medium of communication between computer and the user
containing words, symbols and syntax rules.
• Each language has its own vocabulary and rules.
• A programming language is used to control the behaviour of
• All computer languages can be classified in the following five
• Machine Language (1st Generation Language – 1945)
• Assembly Language(2nd Generation Language – 1950s)
• High Level Language (3rd Generation Language – 1960s)
• Very High Level Language (4th Generation Language –
• Natural Language (5th Generation Language – 1980)
• Machine Language
• The set of instruction codes, in binary, which can be directly
understood by the CPU without translating the program.
• An instruction has two parts:
Op-Code: First part of instruction which tells the
computer what function to perform.
Operand: Second part of instruction, tells the computer
where to find or store data or instructions that are to be
• The lowest-level, programming language.
• Machine Dependent.
• Difficult to program.
• Error Prone.
• Difficult to modify.
1. Assembly Language
• A low-level language.
• Allows the programmer to use abbreviations or words instead
of binary numbers, known as mnemonics.
• A program called an assembler transforms assembly
language into machine code.
• Readability is more than machine language.
• Easy to understand and use.Easy to locate and correct errors.
• Easier to modify.
• No need to track addresses.
• Easily relocatable.
• It has four parts; label, mnemonic, operand, comment; not
all are present in every line.
• Machine dependent.
• Knowledge of hardware.
• Machine level coding.
MOV r0, #0C ;load base address of string into
LOAD: MOV r1,(r0) ;load contents into r1
CALL PRINT ; call a print routine to print the
character in r1
• High-Level Language
• Also known as Procedure/Problem Oriented
• Machine independent.
• Easier to learn and use than previous languages.
• Requires less time to write the code.
• Easier to maintain.
• Provides better documentation.
• Fewer Errors.
• Lower program preparation cost.
• Lack of flexibility.
EXAMPLES OF HLLs
• FORTRAN Formula Translation Language
• COBOL Common Business Oriented Language
• ALGOL Algorithmic Language
• RPG Report Program Generator
• APL A Programming Language
• BASIC Beginners All Purpose Symbolic Instruction Code
• PL/I Programming Language I
• PASCAL Named after Blaise Pascal, a French Philosopher
• Ada Named after Lady Lovelace Ada
• C General Purpose Programming Language
• C++ Object Oriented Programming Language
• JAVA Object Oriented Programming Language
•Very High Level Language
•Also known as 4GL or non-procedural language.
•Easier to learn and use.
•Easier to maintain.
•The tools are:
• Report Generators
• Query Languages
• Application Generators.
Examples: SQL and ORACLE
5. Natural Languages
Natural languages are of two types:
• Ordinary Human Language: English, German,
• Programming Languages: that use human
language to give people more natural connection
with computers with 4GLs. Using AI (Artificial
Intelligence), the attempt to make computers
which will have human like qualities such as
learning, reasoning, communicating, seeing and
• Prolog, OPS5 and Mercury are the best known 5th
COMPARISON BETWEEN 3RD AND 4TH
• THIRD GENERATION • FOURTH GENERATION
2. Used by professional 2. May be used by non-
programmers programmers as well.
3. Require task performance 3. Require specifications of what
specifications (how) task to perform (what)
4. All alternatives are specified 4. Default alternatives are built-in
5. Require large number of 5. Require far few instructions
6. Code difficult to read, and 7. Code easy to read and
7. Originally developed for 8. Developed primarily for on-line.
8. Can be difficult to learn 10. Easy to learn
9. Difficult to debug 11. Easier to debug
10. Typically file oriented. 12. Typically database oriented
• What is meant by System Software and how does it
differ from Application Software.
• Identify any five functions that utility programs can
• What is the difference between High level and low