0% found this document useful (0 votes)
27 views8 pages

Unit-3 Complete Notes (Computer Fundamentals - BBA-5)

The document provides an overview of computer software, categorizing it into system software and application software, and explaining their functions. It details various types of system software such as compilers, interpreters, and assemblers, as well as the characteristics of programming languages. Additionally, it discusses the differences between compilers and interpreters, highlighting their roles in translating high-level programming languages into machine code.

Uploaded by

bluewaks213
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views8 pages

Unit-3 Complete Notes (Computer Fundamentals - BBA-5)

The document provides an overview of computer software, categorizing it into system software and application software, and explaining their functions. It details various types of system software such as compilers, interpreters, and assemblers, as well as the characteristics of programming languages. Additionally, it discusses the differences between compilers and interpreters, highlighting their roles in translating high-level programming languages into machine code.

Uploaded by

bluewaks213
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

BBA-5

Computer Application
[BBA-N506]

Unit – 3

Dr. Aditya Kumar Gupta


Associate Professor
Computer Software

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

Computer Application [BBA-N-506]


compilers run much faster than the same programs executed by an interpreter. Examples: OW-
BASIC Interpreter and LISP Interpreter

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

Computer Application [BBA-N-506]


Computer Languages

A computer cannot understand human languages directly. So, we need a language to


communicate with a computer. We developed several languages as a method of computer
communications. Simply, the languages which are used to communicate with a computer are
called computer languages.

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.

Types of Computer Languages


Low Level Language: A Low-level computer language includes only 1’s and 0’s. This
language was used in first and second generation computers. A Low level language is very
easily understood by a computer but hard to understand for Humans.
Low level languages are designed to interact with computer hardware, which are categorized
into two types: Machine level language and Assembly level language.
Machine Language: As discussed above, Machine level language is a type of Low level
language. Machine language is considered to be the oldest computer language. Machine
language is developed by only using binary numbers i.e., 0 and 1. So, the instructions or the
statements in this language use a sequence of 0’s and 1’s.

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

Computer Application [BBA-N-506]


Computer Languages

A computer cannot understand human languages directly. So, we need a language to


communicate with a computer. We developed several languages as a method of computer
communications. Simply, the languages which are used to communicate with a computer are
called computer languages.

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.

Types of Computer Languages


Low Level Language: A Low-level computer language includes only 1’s and 0’s. This
language was used in first and second generation computers. A Low level language is very
easily understood by a computer but hard to understand for Humans.
Low level languages are designed to interact with computer hardware, which are categorized
into two types: Machine level language and Assembly level language.
Machine Language: As discussed above, Machine level language is a type of Low level
language. Machine language is considered to be the oldest computer language. Machine
language is developed by only using binary numbers i.e., 0 and 1. So, the instructions or the
statements in this language use a sequence of 0’s and 1’s.

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

Computer Application [BBA-N-506]


Characteristics of a programming Language:

 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.

Computer Application [BBA-N-506]


Interpreter
All high level languages need to be converted to machine code so that the computer can understand
the program after taking the required inputs. The software by which the conversion of the high
level instructions is performed line-by-line to machine level language, other than compiler and
assembler, is known as INTERPRETER. Interpreters were first used in 1952 to ease
programming within the limitations of computers at the time. It translates source code into some
efficient intermediate representation and immediately executes this.

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

 Each operator executed in a command language is usually an invocation of a complex routine,


such as an editor or compiler so they are frequently used to command languages and glue
languages.
 Virtualization is often used when the intended architecture is unavailable.
 Sand-boxing
 Self-modifying code can be easily implemented in an interpreted language.
 Emulator for running Computer software written for obsolete and unavailable hardware on
more modern equipment.

Some examples of programming languages that use interpreters are Python, Ruby, Perl, PHP

Computer Application [BBA-N-506]


Difference between Compiler and Interpreter:
S.No. Compiler Interpreter
1. The compiler scans the whole program in Translates the program one statement at a
one go. time.
2. As it scans the code in one go, the errors Considering it scans code one line at a
(if any) are shown at the end together. time, errors are shown line by line.
3. The main advantage of compilers is its Due to interpreters being slow in executing
execution time. the object code, it is preferred less.
4. It converts the source code into object It does not convert source code into object
code. code instead it scans it line by line
5 It does not require source code for later It requires source code for later execution.
execution.
6 Execution of the program takes place only Execution of the program happens after
after the whole program is compiled. every line is checked or evaluated.
7 The machine code is stored in the disk Machine code is nowhere stored.
storage.

End of the Unit-3

Computer Application [BBA-N-506]

You might also like