A computer system can be considered to be made up of
two main components hardware and software. Computer hardware is the
collection of all the physical devices such as to monitor, mouse, keyboard and
CPU that you can touch and feel.
The hardware components have to be given instructions to perform any task. Software is a program that enables a computer to perform a specific task. You cannot touch software as you can do with hardware. Software or programs are written using computer languages. Let us learn more about computer languages and various types of software.
The hardware components have to be given instructions to perform any task. Software is a program that enables a computer to perform a specific task. You cannot touch software as you can do with hardware. Software or programs are written using computer languages. Let us learn more about computer languages and various types of software.
Classification of Computer Languages:
There are two types of computer languages:
- Low-level languages
- High-level languages
Low-level languages:
Low-level languages are easily understood by
computers. They are machine-dependent languages. Unlike high-level languages used by
software developers,
low-level code is often cryptic and not human-readable. That is, these
languages are specific to computers. Two common types of low-level programming
languages are
- Machine language
- Assembly language
Machine language:
Machine language is the language in which
instructions are given in the form of string of 0s and 1s. Machine language
programs are understood by the computer without any translations and hence are
executed very fast as compared to programs written in other languages. Machine
language programs are machine-dependent, that is, the program written for one
computer may not work on another. A complete knowledge of computer architecture
is required to write a program in machine language. It is very difficult for
programmers to write programs in this language. The machine-level language is
considered as a first generation language. This is because, programming was
started with this language.
Advantages:
- Can be directly typed and executed.
- No translator program is required.
Disadvantages:
- Difficult to remember machine instructions.
- Difficult to understand, modify and debug errors.
- Difficult to remember addresses of data and instruction.
- Each and every instruction is numerical.
- Lack of portability: program that runs on one machine does not run on the other.
Assembly language:
Assembly language is the language in which
instructions are given in the form of short words called mnemonics. Since
instead of 0s and 1s, mnemonics are used, it is easier to write a program in
assembly language as compared to machine language. An assembly language is a
low-level programming language for microprocessors and other programmable
devices. It is not just a single language, but rather a group of languages. An
assembly language program is also machine dependent. Assembly language is
also known as assembly code. Program written in assembly language are not
directly executable and require a translator known as assembler.
Example:
- MOV-move data from one location to another
- ADD-add two values
- SUB-subtract a value from another
value
- PUSH-push data onto a stack
- POP-pop data from a stack
- JMP-jump to another location
- INT-interrupt a process
Advantages:
- Easy to remember operation codes, because they are mnemonic.
- Easy to understand the program.
- Easy to write programs, modify and debug as compare machine language.
- Need not remember address of operands and instruction locations.
Disadvantages:
- The mnemonics are machine dependent. They differ from one computer to another.
- Not standardized.
- Lass efficient than machine language.
High-level language:
High-level language is the language in which
programs are written using English
words and mathematical symbols.
It is very easy for programmers to learn and use high-level languages. Example
of high-level languages are BASIC, FORTRAN, Pascal, C, C++, and Java etc.
Software can be created with the help of these languages very easily.
Translator used for converting high-level language programs into corresponding
machine language are known as compilers
or interpreters. The
advantages of high-level languages are as follows:
- Understandability:
Programs written in these
languages are easy to learn and understand than those in low-level language.
- Debugging:
It is very easy to find and remove errors from high-level language. Because of
the use of compilers and interpreters, error can be detected and located
easily.
- Portability:
High-level language programs are machine independent.
Programmers do not require details of underlying hardware to write programs.
Programs written for one computer cab be executed on any other computer with
very minor changes or no changes at all.
Advantages:
- Easy to understand.
- Machine independent.
- Portability
- Easy to write, modify and debug.
- Standardized.
Disadvantages:
- Less efficient than low level language.
Classification of Computer Software:
Software
is a collection of computer programs that provide the instructions that a computer needs to perform specific task. You cannot
touch software as you can do with hardware. Software can be classified into two
categories—
- System Software
- Application software
1. System software:
System software is a software that provides platform to run
application software. It helps to manage and run the computer hardware in an efficient manner. It serves as the interface between the hardware and the end users. Some
examples are……
- Operating System:
An
operating system is a program that provide an environment to interact between
the user of a computer and computer hardware. It also ensures that the computer
hardware is used in an efficient manner.
A
computer system has many resources such as file storage space, I/O devices,
system memory, catch memory, hard disk and so on. The operating system acts as
a resource manager by allocating these resources to specific programs and
applications as and when required.
Example- Microsoft Windows XP,
WIN-7, Linux and UNIX
- Language Processor:
We
know that computer understands instructions in machine code, i.e. in the form
of 0s and 1s. It is difficult to write computer program directly in machine
code. Nowadays, the programs are written mostly in high-level languages, i.e.
BASIC, C, C++, Java etc. A program written in any high-level programming
language (or written in assembly language) is called the Source Program.
These
source code cannot be executed directly by the computer and must be converted
into machine language to be executed. Hence, a special translator system
software is used to translate the program written in
high-level language into machine code is called Language Processor. The language processors are divided into the following three types:
Assembler:
An
assembler converts a program written in an assembly language into its
equivalent machine language.
Compiler:
A compiler converts a
program or source code written in a high-level language into the machine
language before execution. It runs through the entire high-level language
program in one go and reports all the errors in the source code alone with the
line numbers. After all the errors removed, the compiler gives the machine
level equivalent code called the object program or object code. The saved object
program cab be executed number of times without translating it again.
Interpreter:
An interpreter is a
language processor that works by reading and executing the source code of a
high-level language program line-by-line. If there is an error in any line, it
reports it at the same time and program execution cannot resume until the error
is rectified. The object code produced by the interpreter cannot be saved. So,
every time the program is run, it needs to interpreted again to obtain the
object code.
- Utility Software
Utility
software helps to manage, maintain and control computer resources. Examples of utility
programs are antivirus software, backup software, file manager
and disk defragmenter.
- Disk defragmentation
Disk
defragmentation is a process which brings all the scattered data together so,
basically the process which rearranges or reunites the data in your hard disk.
For example, a new library without
a librarian. People borrow books, read them and return them. There is no
librarian, so the books get dumped anywhere. New users will have to spend more
time to search for the books. This is fragmentation.
Now the library committee is fed up, it hires a librarian. This librarian
rearranges books according to category. Now the books are well optimized and
future visitors have to spend little time to find the books. This
is de-fragmentation.
- Antivirus Software:
A
virus is a computer program that may interrupt the normal functioning of your
computer. It can slow down the working of a computer or may sometimes even lead
to system crash. In order to remove such dangerous programs, antivirus programs
need to be used. An antivirus is a computer program used to prevent, detect,
and remove malware or virus.
Example: Norton, AVG, Avira
and McAfee
- Backup Utility
Backup
software are computer programs used to perform a copy of the data on the
hard disk. So that in case of any accidental loss or system crash, valuable
data is not permanently lost.
2. Application software:
Application
software is specific purpose software which is used by user for performing
specific task.
Application
software are divided into two categories----------
- General Purpose Application Software
- Specific Purpose Application Software
1. General Purpose Application Software:
General
Purpose Application Software are developed keeping in mind the general needs
and requirements of a large number of people. Some examples of such software
are…..
- Word processing software:
This
tool is used to create letters, word sheets, type papers etc.
Examples: MS Word, MS
Works, and AppleWorks
- Spreadsheet Software
A
tool used to accepts data values in row and column format to allow users to
manipulate, calculate and analyses data in the desired manner.
Examples: MS Excel, Lotus
1-2-3, MS Works.
- DBMS (Database Management System):
DBMS
is a software that lets you store a large amount of data in an organized
manner. A DBMS can store details about the customers, employees, products,
students, etc.
Examples: Oracle, MS Access,
FileMaker Pro, FoxPro.
- DTS (Desktop Publishing Software)
This
software is used for creating, designs and layouts of books, journals, newspapers
etc.
Examples: MS Publisher, Adobe
PageMaker.
- Graphics Software:
This
type of software allows you to create and edit images.
Examples: Adobe Photoshop,
CorelDraw, etc.
- Multimedia Software:
This
software lets you combine images, text, sound, animations and video to create
interactive applications.
Examples: Adobe Director, Adobe
Flash etc.
- Presentation Software
A
tools used to create and design slide shows and multimedia presentations.
Examples: MS PowerPoint, Hyper
Studio etc.
- Internet Browsers
This
tools allows one to surf the web, read their emails and also create web pages.
Examples: Netscape
Navigator, MS Internet Explorer
- Email Programs
This
software is mainly used to send and receive emails.
Examples: MS Outlook,
Netscape Messenger etc.
2. Specific Purpose Application Software:
Special
purpose application software is a type of software created to execute one
specific task.
For
example-
- A camera application on your
phone will only allow you to take and share pictures.
- Another example would be a
chess game, it would only allow you to play chess.
- Other examples of special
purpose application software are web browsers, calculators, media players,
calendar programs etc.
0 comments: