Unit-3 Complete Notes (Computer Fundamentals - BBA-5)
Unit-3 Complete Notes (Computer Fundamentals - BBA-5)
Computer Application
[BBA-N506]
Unit – 3
Software is a term used for organized collection of computer data and instructions. It is responsible
for controlling, integrating, and managing the hardware components of a computer system and to
accomplish specific tasks. In other words, the software tells the computer system what to do and how
to do it.. Thus, software communicates with the hardware, it organizes the control sequences and the
hardware carries out the instructions defined by the software.
A set of programs, which are specifically written to provide user a precise functionality like solving a
specific problem is termed as a software package. For example, word processing software package
provides functionality to the computer so that it can act like a typewriter for writing text. Similarly,
an image processing software package assists a user in drawing and manipulating graphics.
Software Categories
Software can be broken into two major categories: System software that provides the basic non-task-
specific functions of the computer, and Application software utilized by users to accomplish specific
tasks. System software is the software that is essential for computer to function. Application software
is the additional software that a user chooses to use.
1. System Software : Software that contributes to the control and performance of the computer
system and permits the user to use the system more conveniently is termed as System software.
You must have noticed while purchasing a new computer system that it is always accompanied
by software, either stored in a floppy or CD, which is supplied by the manufacturer. This
software manages and supports the computer system and its information processing activities.
System software is transparent and less noticed by a typical user.
a. Compiler: A compiler is a type of language translator that translates a program code into
machine language. The programs written in any programming language needs to be converted to
binary form. Therefore, in order to execute the programs, a programmer needs to compile the
written programs. As a system program, a compiler translates source code (user written program)
into object code (binary form). The compiler looks at the entire piece of source code and
reorganizes the instructions. The user then furnishes the required inputs to get the desired output.
b. Interpreter: An interpreter is another type of language translator, which analyses and executes
the source code in line-by-line manner, without looking at the entire program. In other words, an
interpreter translates a statement in a program and executes the statement immediately, that is,
before translating the next source language statement. The advantage of interpreters is that they
can execute a program spontaneously. Compilers require some time before an executable
program is made because it looks at the whole source code. However, programs produced by
c. Assembler: Compared to all the types of programming languages, assembly language is closest to
the machine code. It is fundamentally a symbolic representation of machine code. However, no
matter how close assembly language is to machine code, the computer is still unable to
understand it. The assembly language program must be translated into machine code by a
separate program called an assembler. The assembler program recognizes the character strings
that make up the symbolic names of the various machine operations, and substitutes the required
machine code for each instruction. In short, an assembler converts the assembly codes into
machine codes, making the assembly program ready for execution.
3. Debugger: Typical software generally comprises hundreds, thousands or even millions of lines of
programming statements or code. The code is divided into logical groups and stored in different
independent modules so that the debugging and maintenance of the code becomes easier. Before
execution, different object codes resulting from the independent modules have to be linked
together to create an executable program this job is performed by a tool known as debugger.
2. Application Software
The most often seen software by a general user is the application software. It is used to accomplish,
specific tasks rather than just managing a computer system. For a user, without application software,
the computer system has no specific use. Application software may consist of a single program, such
as a Microsoft's Notepad for writing and editing simple Application Software 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. Application software may also include a larger
collection of programs (a software suite), related but independent programs and packages, which
have a common user interface or shared data format, such as Microsoft Office suite. Application
software may be used for a variety of reasons:
As a business tool.
To assist with graphics and multimedia projects
To support home, personal, and educational activities.
To facilitate communications.
As aid in entertainment industry.
Application software is in turn controlled by system software, which manages hardware devices and
performs background tasks for them. Typical types of application software packages include word
processors, Spreadsheets, Database Management
A computer language is a group of instructions that are used to create computer programs.
This is the brief of computer languages. The main goal is to achieve human-computer
interaction.
Assembly Language: Assembly level language in computer programming has evolved with
the advancements in the machine language. Assembly language uses symbols, which are
popularly known as mnemonics in computer terminology to write the instructions. So,
comparatively writing a program in Assembly language is more understandable to the
Human than Machine Language.
The Assembly language code will be converted into a Machine language code with the help
of an Assembler so that the computer can understand the binary converted Assembly
Language.
High Level Language: High Level computer languages are the advanced development
languages in the evolution of computer languages. These languages are designed to make the
programming easier and less error-free.
High level language uses words and commands along with symbols and numbers. The
keywords used in High level languages are similar to English words and can be easily
understood by Humans when compared to a Low level language. Types of programming
languages in High level languages are: C, C++, Java, Java Script, Python, PHP
A computer language is a group of instructions that are used to create computer programs.
This is the brief of computer languages. The main goal is to achieve human-computer
interaction.
Assembly Language: Assembly level language in computer programming has evolved with
the advancements in the machine language. Assembly language uses symbols, which are
popularly known as mnemonics in computer terminology to write the instructions. So,
comparatively writing a program in Assembly language is more understandable to the
Human than Machine Language.
The Assembly language code will be converted into a Machine language code with the help
of an Assembler so that the computer can understand the binary converted Assembly
Language.
High Level Language: High Level computer languages are the advanced development
languages in the evolution of computer languages. These languages are designed to make the
programming easier and less error-free.
High level language uses words and commands along with symbols and numbers. The
keywords used in High level languages are similar to English words and can be easily
understood by Humans when compared to a Low level language. Types of programming
languages in High level languages are: C, C++, Java, Java Script, Python, PHP
A programming language must be simple, easy to learn and use, have good readability,
and be human recognizable.
Abstraction is a must-have Characteristics for a programming language in which the
ability to define the complex structure and then its degree of usability comes.
A portable programming language is always preferred.
Programming language’s efficiency must be high so that it can be easily converted into
a machine code and its execution consumes little space in memory.
A programming language should be well structured and documented so that it is suitable
for application development.
Necessary tools for the development, debugging, testing, maintenance of a program
must be provided by a programming language.
A programming language must be consistent in terms of syntax and semantics.
Compiler
A Compiler is software that typically takes a high level language (Like C++ and Java) code as
input and converts the input to a lower level language at once. It lists all the errors if the input code
does not follow the rules of its language. This process is much faster than interpreter but it
becomes difficult to debug all the errors together in a program.
A compiler is a translating program that translates the instructions of high level language to
machine level language. A program which is input to the compiler is called a Source program.
This program is now converted to a machine level language by a compiler is known as the Object
code.
A compiler can translate only those source programs which have been written in the language for
which the compiler is meant. Each high level programming language requires a separate compiler
for the conversion. A computer system may have more than one compiler to work for more than
one high level language.
An Interpreter is generally used in microcomputer. It helps the programmer to find out the errors
and to correct them before control moves to the next statement. Interpreter system performs the
actions described by the high level program. For interpreted programs, the source code is needed to
run the program every time. Interpreted programs run slower than the compiled programs.
Advantage of interpreter is that it is executed line by line which helps users to find errors
easily.
Disadvantage of interpreter is that it takes more time to execute successfully than compiler.
Applications of Interpreters
Some examples of programming languages that use interpreters are Python, Ruby, Perl, PHP