Software, and Language Processors
Software, and Language Processors
Prepared by –
Md. Jahidul Islam
L e c t u r e r, D e p a r t m e n t o f E n g i n e e r i n g
B G M E A U n i v e r s i t y o f F a s h i o n a n d Te c h n o l o g y
Hardware
• Hardware represents the physical and tangible components of a
computer, i.e. the components that can be seen and touched.
• Examples of Hardware are the
following −
Input devices − keyboard, mouse, etc.
Output devices − printer, monitor, etc.
Secondary storage devices − Hard disk,
CD, DVD, etc.
Internal components − CPU,
motherboard, RAM, etc.
Hardware Vs Software
• Relationship between Hardware and Software
Hardware and software are mutually dependent on each other. Both of them must work together to
make a computer produce a useful output.
Software cannot be utilized without supporting hardware.
Hardware without a set of programs to operate upon cannot be utilized and is useless.
To get a particular job done on the computer, relevant software should be loaded into the hardware.
Hardware is a one-time expense.
Software development is very expensive and is a continuing expense.
Different software applications can be loaded on a hardware to run different jobs.
A software acts as an interface between the user and the hardware.
If the hardware is the 'heart' of a computer system, then the software is its 'soul'. Both are
complementary to each other.
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 −
i. System Software
ii. Application Software
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.
Software
• System Software
Here is a list of some of the most prominent features of a 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
Software
• 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.
Software
• Application Software
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
Software
• Application Software
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
Language Processors:
Assembler, Compiler and Interpreter
• Language Processors:
A computer understands instructions in machine code, i.e. in the form of 0s and 1s.
It is a tedious task to write a computer program directly in machine code.
The programs are written mostly in high level languages like Java, C++, Python
etc. and are called source code.
These source code cannot be executed directly by the computer and must be
converted into machine language to be executed.
A special translator system software is used to translate the program written in
high-level language into machine code is called Language Processor and the
program after translated into machine code (object program / object code).
Language Processors:
Assembler, Compiler and Interpreter
• Language Processors:
The language processors can be any of the following three types:
i. Compiler
ii. Assembler
iii. Interpreter
Language Processors:
Assembler, Compiler and Interpreter
• Compiler:
The language processor that reads the complete source program written in high level language as a
whole in one go and translates it into an equivalent program in machine language is called as a
Compiler.
Example: C, C++, C#, Java
In a compiler, the source code is translated to object code successfully if it is free of errors.
The compiler specifies the errors at the end of compilation with line numbers when there are any errors
in the source code.
The errors must be removed before the compiler can successfully recompile the source code again.
Language Processors:
Assembler, Compiler and Interpreter
• Assembler:
The Assembler is used to translate the program written in Assembly language
into machine code.
The source program is a input of assembler that contains assembly language
instructions.
The output generated by assembler is the object code or machine code
understandable by the computer.
Language Processors:
Assembler, Compiler and Interpreter
• Interpreter:
The translation of single statement of source program into machine code is done by
language processor and executes it immediately before moving on to the next line is
called an interpreter.
If there is an error in the statement, the interpreter terminates its translating process at
that statement and displays an error message.
The interpreter moves on to the next line for execution only after removal of the error.
An Interpreter directly executes instructions written in a programming or scripting
language without previously converting them to an object code or machine code.
Example: Perl, Python and Matlab.
Language Processors:
Assembler, Compiler and Interpreter