A Brief history and significance of Object Oriented Programming and about its past and present. Presented as a Part of Class assignment for Visual Programming Class.
2. History and Origin
Best way to Predict the future is to Invent it.
- Alan Kay (Father of OOP’s)
3. History of OOP’s
First Introduced by Programmers at MIT
AI Lab in 1960’s.
Simula67 was first programming
language to carry OOP features.
First used to solve problems of Discrete
event Simulation Problems.
4. OOP’s made first appearance in 1970’s
with Smalltalk Programming Language
Developed by Alan Kay at Xerox.
It had Major features like
Object,Classes,Procedures etc..
Initially designed for academic research
but now plays a major role in Industry.
6. OOP Features..
Every Program can be divided into classes and
objects.
Objects are ‘Instance’ or a ‘copy’ of the ‘Blueprint’
class.
Classes contain Data and Functions or Procedures
that manipulate Data.
Concept of OOP ‘Bind’ Both Data and Function
into single unit.
7. Efficient ‘Data Binding’ using Classes ,Objects
and Subroutines.
Strong Data Security using ‘Encapsulation’
techniques.
Code reusability using ‘Inheritance’.
Efficient Communication using ‘Message
Passing.’
Code reduction and templating using
‘Polymorphism’.
8. Fast and efficient.
Very Powerful Programming Practices compared
to POP ( Procedural oriented Programming) and
FP ( functional programming).
Programmer Friendly ‘Abstraction’ for easy and
Rapid Application Development.
Object’s and Classes Reduced Complexity of code
very significantly.
Highly efficient Modularity.
9. Advantages
and Use Cases
Measuring programming
progress by lines of code is
like measuring aircraft
building progress by weight.
- Bill Gates
10. Advantages…
OOP’s is Supported by over 100 Programming
Languages.
Java is the one of the modern and Best examples
of OOP’s.
Other Languages like C++, C# , Python, Visual
Basic Support OOP’s.
There is no perfect OOP’s language although Java
comes close to perfection .
11. Complex and Large applications can be
Built using OOP’s model.
Well tested and Implemented through
decades of Development.
Good Practices and Design Patterns
available for use.
Models Real world entities well.
Enables fast application development.
12. Used in various fields.
Was used to Develop Graphical User
Interface for Windows OS.
Object Oriented Databases and
Distributed Systems.
Used heavily in Games and AI Systems.
13. Bottlenecks
and
Drawbacks
The problem with object-oriented
languages is they’ve got all this
implicit environment that they
carry around with them. You
wanted a banana but what you
got was a gorilla holding the
banana and the entire jungle.
- Joe Armstrong
14. Bottlenecks and
Drawbacks….
Packs too many features that might not
always be required.
Requires the model of thinking of the
Programmer in tune with the OOP’s Concepts.
Garbage Collection and Memory
management becomes a headache if not
included in the language. Ex : C++
15. XKCD Says it better….
Hard to find answers sometimes….
16. Last But not the least,
VB OOP’s features….
Object Oriented features since Visual Basic 4.
User defined data types and their processing with
BAS modules.
All the basic OOP’s features including
Objects,Classes,Constructors and Destructors and
System Objects.
Strong Inheritance features in VB.NET
More VB features : https://msdn.microsoft.com/en-
us/library/aa289512(v=vs.71).aspx