3. Introduction
Prof. K. Adisesha (Ph. D)
3
Definition:
The programming languages deal with two important aspects –
❖ Data
❖ Algorithm.
➢ Data is the main substance of the program and the algorithms are the
methods that use these programs.
➢ OOP is the principle of design and development of programs using the
modular approach.
4. Introduction
Prof. K. Adisesha (Ph. D)
4
Evolution of programming techniques:
IBM gave birth to the first ever high level programming language in 1954 when a
team led by John Backus invented FORTRAN (i.e. FORmula TRANslation).
➢ FORTAN was originally developed for scientific and engineering programs.
➢ It is still used to this day.
➢ The period from the late 1960s to the late 1970s brought a major flowering of
programming languages.
➢ Most of the major language paradigms now in use were invented in this period.
5. Introduction
Prof. K. Adisesha (Ph. D)
5
Evolution of programming techniques:
Some notable languages that were developed in this period include:
6. Programming Concepts
Prof. K. Adisesha (Ph. D)
6
Programming Concepts:
The programming approach deal with three important aspects:
❖ Procedural programming.
❖ Structured programming.
❖ Object oriented programming
7. Programming Concepts
Prof. K. Adisesha (Ph. D)
7
Procedural programming:
The procedural programming focuses on processing of instructions in order to perform
a desired computation.
➢ It emphasizes more on doing things like algorithms.
➢ This programming is lengthy, increases the complexity of program, difficult to
understand and modify the program.
➢ This technique is used in conventional programming languages such as C and
Pascal.
➢ For example, procedural programs make use of branching statements, where
the flow of control changes its path according to the result of the test
expression.
8. Programming Concepts
Prof. K. Adisesha (Ph. D)
8
Structured programming:
Structured programming approach was a disciplined approach which limits the
branching to a small set of well-behaved construction.
➢ It emphasizes more on doing things like: if, if-else, while etc,. control structure.
➢ The idea of Top-down design is to break a large program into smaller
programs.
➢ The major drawback is that it is very difficult to model the real world scenario
using this model.
9. Programming Concepts
Prof. K. Adisesha (Ph. D)
9
Object oriented programming:
Object oriented programming (OOP) is a concept that combines both the data and the
functions that operate on that data into a single unit called the object.
➢ Object is an identifiable entity with some characteristics and behavior.
➢ OOP follows bottom-up design technique, where solutions to smaller modules
are integrated to find the solution of overall problem
➢ Class is the major concept that plays important role in this approach. Class is a
template that represents a group of objects which share common properties and
relationships.
10. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
10
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes .
❖ Modularity
❖ Abstraction
❖ Data Encapsulation
❖ Inheritance
❖ Polymorphism
❖ Dynamic Binding
❖ Message Passing
11. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
11
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes .
Modularity:
➢ Module is a logically self contained unit that can be tested and executed
independently.
➢ Modularity is a technique adopted to divide a complex problem into a number
of self contained independent programming fragments or modules.
12. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
12
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes .
Abstraction:
➢ Abstraction is an act which represents the essential features of an entity without
including explanations or any background details about it.
13. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
13
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes.
Data Encapsulation:
➢ Wrapping of data and functions into a single unit is called data encapsulation.
➢ The concept of insulating the data from direct access by the program is called
data hiding.
14. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
14
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes.
Inheritance:
➢ Inheritance is the process by which objects of one class acquires the properties
of the objects of another class. (Or)
➢ The process of deriving a new class from the existing class is called
inheritance.
15. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
15
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes .
Polymorphism:
➢ Polymorphism is the ability for a message to be processed in more than one form.
➢ The process of making an operator to exhibit different behaviors in different
instances is known as operator overloading.
➢ Using a single function name to perform different types of tasks is known as
function overloading.
16. Characteristics of OOPs
Prof. K. Adisesha (Ph. D)
16
OOPs characteristics:
The general concepts of Object oriented programming (OOP) includes .
Dynamic Binding:
➢ Binding means linking of a procedure call to the code to be executed when it is
called.
➢ Dynamic binding means binding the procedure call during program run rime.
Message Passing:
➢ Passing message objects and invoking the function by the object by sending a
message is known as message passing
17. OOPs Benefits
Prof. K. Adisesha (Ph. D)
17
Advantages of OOPs:
The various advantages of Object oriented programming (OOP) includes.
❖ OOPs model the real world entity very well.
❖ Inheritance eliminates the redundancy (repetition) of code and hence supports code
reusability.
❖ Data hiding helps to build secured programs.
❖ Multiple instances (objects) can be created.
❖ Work can be divided easily.
❖ OOPs can be easily upgraded from small to large systems.
❖ Complexity can be easily managed.
❖ Message passing concept helps the objects to communicate and share data.
18. OOPs disadvantages
Prof. K. Adisesha (Ph. D)
18
Disadvantages of OOPs:
The various disadvantages of Object oriented programming (OOP) includes .
❖ OOPs use tricky method to do the programming.
❖ Special skills such as thinking in terms of design skills, programming skills and object
is required for a programmer.
❖ Proper planning and design is required before programming using OOPs technique.
19. OOPs Applications
Prof. K. Adisesha (Ph. D)
19
Applications of OOPs:
The various applications of Object oriented programming (OOP) includes .
❖ Object oriented databases.
❖ Hypermedia, expert text and hypertext.
❖ Artificial intelligence and expert systems.
❖ Decision support systems and office automation systems.
❖ Parallel programming and neural networks.
❖ CAD, CAM, CIM systems.
❖ Simulation and modeling.
20. OOPs Applications
Prof. K. Adisesha (Ph. D)
20
Difference between Procedural & OOPs Programming:
Procedural Programming Object Oriented Programming
Large programs are divided into smaller programs
known as functions
Programs are divided into objects
Data is not hidden and can be accessed by external
functions
Data is hidden and cannot be accessed by external
functions
Follow top down approach in the program design Follows bottom-up approach in the program design
Data may communicate with each other through
functions
Objects may communicate with each other through
functions.
Emphasize is on procedure rather than data Emphasize is on data rather than
procedure