Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
28 views

Computer Application Unit 4

Uploaded by

apexacmca2021
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Computer Application Unit 4

Uploaded by

apexacmca2021
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Computer Software

Software is a set of programs, which is designed to perform a well-defined function. A program is a


sequence of instructions written to solve a particular problem.

There are two types of software:

 System Software
 Application Software

SYSTEM SOFTWARE

The system software is a collection of programs designed to operate, control, and extend the processing
capabilities of the computer itself. System software is generally prepared by the computer manufacturers.
These software products comprise of programs written in low-level languages, which interact with the
hardware at a very basic level. System software serves as the interface between the hardware and the end
users.

Some examples of system software are Operating System, Compilers, Interpreter, Assemblers, etc.

Here is a list of some of the most prominent features of system software:

 Close to the system


 Fast in speed
 Difficult to design
 Difficult to understand
 Less interactive
 Smaller in size
 Difficult to manipulate
 Generally written in low-level language

APPLICATION SOFTWARE

Application software products are designed to satisfy a particular need of a particular environment. All
software applications prepared in the computer lab can come under the category of Application software.

Application software may consist of a single program, such as Microsoft’s notepad for writing and editing a
simple text. It may also consist of a collection of programs, often called a software package, which work
together to accomplish a task, such as a spreadsheet package.
Examples of Application software are the following:

 Payroll Software
 Student Record Software
 Inventory Management Software
 Income Tax Software
 Railways Reservation Software
 Microsoft Office Suite Software
 Microsoft Word
 Microsoft Excel
 Microsoft PowerPoint

Features of application software are as follows:

 Close to the user


 Easy to design
 More interactive
 Slow in speed
 Generally written in high-level language
 Easy to understand
 Easy to manipulate and use
 Bigger in size and requires large storage space
Relationship between Hardware and Software

Computer hardware
A computer basically consists of various electronic components which are supported by electrical devices
and mechanical systems. All these electronic, electrical. Mechanical devices used in a computer are called
the hardware of the computer.

Motherboard, CPU, floppy disk, keyboard, mouse, webcam, CS drive, USB flash drive, monitor and power
supply units are examples of hardware peripheral devices connected to a digital computer.

So, hardware represents the physical and tangible components of a computer. i.e. we can define hardware as
the components that can be seen and touched. We can also say that the electronic, electrical and mechanical
equipment that makes up a computer is called hardware.

A computer consists of five primary hardware components –

 Input devices
 Output devices
 CPU
 Storage devices
 Memory

These primary hardware parts of a computer work alongside software system to perform calculations,
organize information and additionally to connect with different computers. So, the hardware components of
a computer are actuated and controlled with the help of software. This is the basic relationship between
hardware and software.

Computer software

The computer software is nothing but a set of well-written instructions or programmes written in different
programming languages like JAVA, C++, Python etc. These set of instructions or programs govern the
operation of a computer system and make the hardware run. The software can be classified into mainly two
categories –

 System Software
 Application Software

(a) System Software

System software is the programs used to handle the computer hardware and to execute the application
software. The operating systems and language processors (Assembler, interpreter, Compiler etc) are also
system software.

(b) Application Software

They are the software designed to solve specific tasks or problems like MS Office, AutoCAD, MATLAB
etc. So, this type of software is specified to one specific application.
So. we have already discussed the computer hardware and software in details. From this, you might already
notice the basic relationship exists between hardware and software. Now let’s point out the important
relationship between hardware and software in details.

The relationship between hardware and software are:

 Hardware and software both are interdependent on each other. Each of them should work
along to form computer produce a helpful output.
 The software can not be used if there is no support of any hardware device.
 When there is no proper instructions given, the hardware cannot be used and is useless.
 To get a selected job done on the pc, the relevant software package has to be loaded into
the hardware.
 Hardware could be a former expense.
 Software development is incredibly pricey and could be a continued expense.
 The different software package can be loaded on hardware to run totally different jobs.
 The software acts as an associate interface between the user and therefore the hardware.
 We can say the hardware and software are the heart and soul of a digital computer.

Computer Languages: Machine Language


Just as humans use language to communicate, and different regions have different languages, computers also
have their own languages that are specific to them.

Different kinds of languages have been developed to perform different types of work on the computer.
Basically, languages can be divided into two categories according to how the computer understands them.

Two Basic Types of Computer Language

1. Low-Level Languages: A language that corresponds directly to a specific machine


2. High-Level Languages: Any language that is independent of the machine

LOW-LEVEL LANGUAGES

Low-level computer languages are either machine codes or are very close them. A computer cannot
understand instructions given to it in high-level languages or in English. It can only understand and execute
instructions given in the form of machine language i.e. binary. There are two types of low-level languages:

 Machine Language
 Assembly Language

(i) Machine Language

Machine language is the lowest and most elementary level of programming language and was the first type
of programming language to be developed. Machine language is basically the only language that a computer
can understand and it is usually written in hex.

In fact, a manufacturer designs a computer to obey just one language, its machine code, which is represented
inside the computer by a string of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of an
electric pulse and the 1 stands for the presence of an electric pulse. Since a computer is capable of
recognizing electric signals, it understands machine language.
Advantage of Machine language

 Machine language makes fast and efficient use of the computer.


 It requires no translator to translate the code. It is directly understood by the computer.

Disadvantage of Machine language

 All operation codes have to be remembered.


 All memory addresses have to be remembered.
 It is hard to amend or find errors in a program written in the machine language.

(ii) Assembly Language

Assembly language was developed to overcome some of the many inconveniences of machine language.
This is another low-level but very important language in which operation codes and operands are given in
the form of alphanumeric symbols instead of 0’s and l’s.

These alphanumeric symbols are known as mnemonic codes and can combine in a maximum of five-letter
combinations e.g. ADD for addition, SUB for subtraction, START, LABEL etc. Because of this feature,
assembly language is also known as ‘Symbolic Programming Language.’

This language is also very difficult and needs a lot of practice to master it because there is only a little
English support in this language. Mostly assembly language is used to help in compiler orientations. The
instructions of the assembly language are converted to machine codes by a language translator and then they
are executed by the computer.

Advantage of Assembly language:

 Assembly language is easier to understand and use as compared to machine language.


 It is easy to locate and correct errors.
 It is easily modified.

Disadvantage of Assembly language:

 Like machine language, it is also machine dependent/specific.


 Since it is machine dependent, the programmer also needs to understand the hardware.

HIGH-LEVEL LANGUAGES

High-level computer languages use formats that are similar to English. The purpose of developing high-level
languages was to enable people to write programs easily, in their own native language environment
(English).

High-level languages are basically symbolic languages that use English words and/or mathematical symbols
rather than mnemonic codes. Each instruction in the high-level language is translated into many machine
language instructions that the computer can understand.

Advantage of High-level languages:

 High-level languages are user-friendly.


 They are similar to English and use English vocabulary and well-known symbols
 They are easier to learn.
 They are easier to maintain.
 They are problem-oriented rather than ‘machine’-based.
 A program written in a high-level language can be translated into many machine
languages and can run on any computer for which there exists an appropriate translator.
 The language is independent of the machine on which it is used i.e. programs developed
in a high-level language can be run on any computer text.

Disadvantage of High-level language:

 A high-level language has to be translated into the machine language by a translator,


which takes up time.
 The object code generated by a translator might be inefficient compared to an equivalent
assembly language program.
Compilers & Interpreters
Compiler

A compiler is a computer program that transforms code written in a high-level programming language into
the machine code. It is a program which translates the human-readable code to a language a computer
processor understands (binary 1 and 0 bits). The computer processes the machine code to perform the
corresponding tasks.

A compiler should comply with the syntax rule of that programming language in which it is written.
However, the compiler is only a program and cannot fix errors found in that program. So, if you make a
mistake, you need to make changes in the syntax of your program. Otherwise, it will not compile.

Role of Compiler

 Compliers reads the source code, outputs executable code


 Translates software written in a higher-level language into instructions that computer can
understand. It converts the text that a programmer writes into a format the CPU can
understand.
 The process of compilation is relatively complicated. It spends a lot of time analyzing and
processing the program.
 The executable result is some form of machine-specific binary code.

Interpreter

An interpreter is a computer program, which coverts each high-level program statement into the machine
code. This includes source code, pre-compiled code, and scripts. Both compiler and interpreters do the same
job which is converting higher level programming language to machine code. However, a compiler will
convert the code into machine code (create an exe) before program run. Interpreters convert code into
machine code when the program is run.
Role of Interpreter

 The interpreter converts the source code line-by-line during RUN Time.
 Interpret completely translates a program written in a high-level language into machine
level language.
 Interpreter allows evaluation and modification of the program while it is executing.
 Relatively less time spent for analyzing and processing the program
 Program execution is relatively slow compared to compiler

Difference between Compiler and Interpreter

Basis of difference Compiler Interpreter

· Create the program.


· Compile will parse or
analyses all of the
language statements for its
correctness. If incorrect,
throws an error · Create the Program
· No linking of files or machine
· If no error, the compiler code generation
Programming Steps will convert source code to
machine code. · Source statements executed line
by line DURING Execution
· It links different code
files into a runnable
program(know as exe)

· Run the Program

The program code is


already translated into
Interpreters are easier to use,
Advantage machine code. Thus, it
especially for beginners.
code execution time is
less.
You can’t change the Interpreted programs can run on
Disadvantage program without going computers that have the
back to the source code. corresponding interpreter.
Store machine language as
Machine code machine code on the Not saving machine code at all.
disk
Running time Compiled code run faster Interpreted code run slower
It is based on language
It is based on Interpretation
Model translation linking-loading
Method.
model.
Generates output program Do not generate output program.
Program generation (in the form of exe) which So they evaluate the source
can be run independently program at every time during
from the original program. execution.
Program execution is
separate from the Program Execution is a part of
Execution compilation. It performed Interpretation process, so it is
only after the entire output performed line by line.
program is compiled.
Target program execute
Memory requirement independently and do not The interpreter exists in the
require the compiler in the memory during interpretation.
memory.
For web environments, where
Bounded to the specific
load times are important. Due to
target machine and cannot
all the exhaustive analysis is
be ported. C and C++ are a
Best suited done, compiles take relatively
most popular a
for larger time to compile even small
programming language
code that may not be run multiple
which uses compilation
times. In such cases, interpreters
model.
are better.
Characteristics of Good language
Every computer requires appropriate instruction set (programs) or language to perform the required task.
The quality of the processing depends upon the given instructions. If the instructions are improper or
incorrect, then it is obvious that the result will be superfluous.

Therefore, proper and correct instructions should be provided to the computer so that it can provide the
desired output. Hence, a program should be developed in such a way that it ensures proper functionality of
the computer. In addition, a program should be written in such a manner that it is easier to understand the
underlying logic.

A good computer language should have following characteristics:

(i) Portability
Portability refers to the ability of an application to run on different platforms (operating systems) with or
without minimal changes. Due to rapid development in the hardware and the software, nowadays platform
change is a common phenomenon. Hence, if a program is developed for a particular platform, then the life
span of the program is severely affected.

(ii) Readability
The program should be written in such a way that it makes other programmers or users to follow the logic of
the program without much effort. If a program is written structurally, it helps the programmers to understand
their own program in a better way. Even if some computational efficiency needs to be sacrificed for better
readability, it is advisable to use a more user-friendly approach, unless the processing of an application is of
utmost importance.

(iii) Efficiency
Every program requires certain processing time and memory to process the instructions and data. As the
processing power and memory are the most precious resources of a computer, a program should be laid out
in such a manner that it utilizes the least amount of memory and processing time.

(iv) Structural
To develop a program, the task must be broken down into a number of subtasks. These subtasks are
developed independently, and each subtask is able to perform the assigned job without the help of any other
subtask. If a program is developed structurally, it becomes more readable, and the testing and documentation
process also gets easier.

(v) Flexibility
A program should be flexible enough to handle most of the changes without having to rewrite the entire
program. Most of the programs are developed for a certain period and they require modifications from time
to time. For example, in case of payroll management, as the time progresses, some employees may leave the
company while some others may join. Hence, the payroll application should be flexible enough to
incorporate all the changes without having to reconstruct the entire application.

(vi) Generality
Apart from flexibility, the program should also be general. Generality means that if a program is developed
for a particular task, then it should also be used for all similar tasks of the same domain. For example, if a
program is developed for a particular organization, then it should suit all the other similar organizations.

(vii) Documentation
Documentation is one of the most important components of an application development. Even if a program
is developed following the best programming practices, it will be rendered useless if the end user is not able
to fully utilize the functionality of the application. A well-documented application is also useful for other
programmers because even in the absence of the author, they can understand it.

You might also like