Module 1: History and Introduction to OOP languages Flashcards
_____ is a method of programming based on a hierarchy of classes, and
well-defined and cooperating objects.
Object-oriented programming
A _____ is a structure that defines the data and the methods to work on that data.
class
Paradigm Evolution (years)
1. Procedural - ____-_____ (procedural abstraction)
2. Data-Oriented - early ___s (data abstraction)
3. OOP - late ____s (inheritance and dynamic binding)
- Procedural - 1950s-1970s
- Data-Oriented - early 1980s
- OOP - late 1980s
[author(s)]
Simula 1 (1962 - 1965) and Simula 67 (1967)
Norwegian Computing Center,
Oslo, Norway by Ole-Johan Dahl and Kristen Nygaard.
[author(s)]
Smalltalk (1970s)
Alan Kay’s group at Xerox PARC
[author(s)]
C++ (early 1980s)
Bjarne Stroustrup, Bell Labs
Who developed Java?
James Gosling, Early 1990s
_____ uses a list of instructions to tell the computer what to do step-by-step. Also follows a top-down approach.
Procedural programming
Languages used in Procedural Programming:
(FAC BPC)
- FORTRAN, ALGOL, COBOL,
- BASIC, Pascal and C
_____ is an approach to problem-solving where all computations are carried out using objects. Also follows a bottom-up approach.
Object-oriented programming
Languages used in Object-Oriented Programming:
(JCCP PJRP ODSS)
- Java, C++, C#, Python,
- PHP, JavaScript, Ruby, Perl,
- Objective-C, Dart, Swift, Scala.
Object-oriented programming has several advantages over procedural programming:
- OOP is faster
- OOP provides a clear structure
- OOP helps to keep the Java code DRY “Don’t Repeat Yourself’
- OOP makes it possible to create full reusable applications
What are the two main aspects of object-oriented programming?
class (ex. Fruit) and objects (ex. Apple, Banana, Mango)
_____ are user-defined data types that act as the blueprint for individual objects, attributes and methods.
Classes
An _____ is the instance of the class, which helps programmers to use variables and methods of the class.
object