1. System software
2. Application software
System software: Directly interacts with the computer
system. Operating system, compiler, interpreter are
examples for this.
Application software: All the programs written by a
user with the help of any software is called as application
09/04/134 VIT - SCSE
Introduction to Programming
The shift in programming language is categorized as
1. Monolithic Programming
2. Procedural Programming
3. Structural Programming
4. Object Oriented Programming
09/04/135 VIT - SCSE
This programming consists only global data and sequential
Assembly language and BASIC
09/04/136 VIT - SCSE
Procedural Oriented Programming
Mainly comprises of algorithms.
FORTRAN and COBOL
The important features of Procedural Programming are
Emphasis is on doing things (algorithms)
Large programs are divided into smaller programs known as
Most of the functions share global data
Data move openly around the system from function to function
Functions transform data from one form to another
Employs top-down approach in program design
09/04/137 VIT - SCSE
Pascal and C
Structured programming is based upon the algorithm rather than
Programs are divided into individual modules that perform
Introduction of user defined data types
09/04/138 VIT - SCSE
Object Oriented Programming
C++, Smalltalk, Eiffel, Java, C# etc.
Object oriented programming is a programming
methodology that associates data structures with a set of
operators, which act upon it.
Depending on the object features supported, the languages are
classified into two categories:
Object-Based Programming Languages
Object-Oriented Programming Languages
09/04/139 VIT - SCSE
Object-based programming languages support encapsulation
and object identity without supporting inheritance, polymorphism
and message communications.
Object – Based language = Encapsulation + Object Identity
Object-Oriented Programming Language incorporate all the
features of object-based programming languages along with
inheritance and polymorphism.
Object-oriented programming language = Object Based
Language + Polymorphism +Inheritance
09/04/1310 VIT - SCSE
Features of Object oriented Programming
Improvement of over the structured programming languages.
Emphasis on data rather than algorithm
Data is hidden and cannot be accessed by external functions
Objects may communicate with each other through functions
New data and functions can be easily added whenever
Follows bottom –up approach in program design
09/04/1311 VIT - SCSE
Basic concepts of object oriented
Objects – data and function
Data Abstraction : the act of representing essential features
without including the background details or explanations.
Encapsulation – data and function into a single unit
Message Passing : It is the process of invoking an operation
on an object.
09/04/1312 VIT - SCSE
Advantages of OOP
Through inheritance we can eliminate redundant
(Unnecessary) code and extend the use of existing classes.
The principle of data hiding helps for security.
It is possible to have multiple objects.
It is easy to partition the work in a project based on objects.
Object-oriented systems can be easily upgraded from small to
Message passing techniques for communication between
Code reuse is possible.
09/04/1313 VIT - SCSE
Applications of OOP
Real time systems
Simulation and modeling
Object oriented databases
Hypertext and hypermedia
AI and expert systems
Neural networks and parallel programming
Office automation systems
CIM / CAM / CAD systems
09/04/1314 VIT - SCSE