Timeline of Object-Oriented Programming Language- Blog Group 6, SY-IT.
Timeline of Object-Oriented Programming Languages.
Subject: Object-Oriented Programmings. SY-IT-A
Submitted to: Prof. SMT. Shaiwali Ballal Ma’am. (Vishwakarma Institute of Technology, Pune-37)
Submitted By:
⦁ Roll no 14: Yogesh Chaudhari
⦁ Roll no 16: Prasanna Dani
⦁ Roll no 17: Pruthviraj Deshmukh
⦁ Roll no 24: Atharva Jadhav
⦁ Roll no 25: Chetan Jain.
Contents:
1. Basic Introduction to Topic.
⦁ What Is Object-Oriented Programming?
⦁ 6 Basic concepts of OOP’s.
⦁ Some well-known basic examples of OOP languages.
2. Actual Topic- Timeline of OO Programming Languages.
⦁ First Object-Oriented Programming Language.
⦁ Second Object Programming Language.
⦁ OOP in Dynamic Languages.
⦁ OOP in a network protocol.
3. Conclusion.
Basic Introduction to Topic:
⦁ What Is Object-Oriented Programming?
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields, and code, in the form of procedures. We often call fields attributes, and procedures as methods in our conventional programming terminologies.
A feature of objects is that an object's own procedures can access and often modify the data fields themselves. In OOP, computer programs are designed by making them out of objects that interact with one another. OOP languages are diverse, but the most popular ones are class-based, meaning that objects are instances of classes, which also determine their types.
Many of the most widely used programming languages (such as C++, Java, Python, etc.) are multi-paradigm and they support object-oriented programming to a greater or lesser degree, typically in combination with imperative, procedural programming. Significant object-oriented languages include (list order based on TIOBE index) Java, C++, C#, Python, R, PHP, Visual Basic.NET, JavaScript, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Kotlin, Common Lisp, MATLAB, and Smalltalk.
⦁ 6 Basic Concepts of OOP’s:
1.Inheritance in object-Oriented programming
Inheritance is one of the core concepts of object-oriented programming (OOP) languages. It is a mechanism where you can derive a class from another class for a hierarchy of classes that share a set of attributes and methods.
2.Polymorphism in object-oriented programming
Polymorphism is the method in an object-oriented programming language that performs different things as per the object's class, which calls it. With Polymorphism, a message is sent to multiple class objects, and every object responds appropriately according to the properties of the class.
3.Abstraction in object-Oriented programming
Abstraction is the concept of object-oriented programming that "shows" only essential attributes and "hides" unnecessary information. The main purpose of abstraction is to hide the unnecessary details from the users. It is one of the most important concepts of OOPs
4.Encapsulation in object-Oriented programming
In object-oriented programming, encapsulation refers to the bundling of data with the methods that operate on that data or restricting direct access to some of an object's components.
5.Class in object-Oriented programming
In object-oriented programming, a class is a blueprint for creating objects, providing initial values for the state, and implementing behavior. The user-defined objects are created using the class keyword.
6.Object in object-Oriented programming
An object is an instance of a class. The object is a real-world entity such as a pen, laptop, mobile, bed, keyboard, mouse, chair, etc.
⦁ Some well-known examples of OOP Languages:
1) C++ 2) C# 3) JAVA 4) Python 5) Ruby 6) MATLAB 7) PHp
These are some examples of OOP languages that are generally known.
But what about others? Are only these languages referred to as Object-Oriented Programming Languages? Let’s get the answer ahead…
Actual Topic- Timeline of OO Programming Languages:
⦁ First Object-Oriented Programming Language:
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is a fairly faithful superset of ALGOL 60, also influenced by the design of Simscript.
Simula (1967) is generally accepted as being the first language with the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation.
⦁ Second Object-Oriented Programming Language:
Smalltalk is an object-oriented, dynamically typed reflective programming language. Smalltalk was created in the 1970s as the language underpinning the "new world" of computing exemplified by "human-computer symbiosis".
The language was first generally released as Smalltalk-80. Smalltalk-like languages are in active development and have gathered loyal communities of users around them. ANSI Smalltalk was ratified in 1998 and represents the standard version of Smalltalk.
⦁ Changes in types of Object-Oriented Programming Languages:
Change 1) Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Ruby, Scala, Smalltalk, Eiffel, Emerald, JADE, Self, Raku.
Change 2) Languages designed mainly for OO programming, but with some procedural elements. Examples: Java, Python, C++, C#, Delphi/Object Pascal, VB.NET.
Change 3) Languages that are historically procedural, but have been extended with some OO features. Examples: PHP, Perl, Visual Basic (derived from BASIC), MATLAB, COBOL 2002, Fortran 2003, ABAP, Ada 95, Pascal.
Change 4) Languages with most of the features of objects (classes, methods, inheritance), but in a distinctly original form. Examples: Oberon (Oberon-1 or Oberon-2).
Change 5) Languages with abstract data type support may be used to resemble OO programming but without all object orientation features. This includes object-based and prototype-based languages. Examples: JavaScript, Lua, Modula-2, CLU.
Change 6) Chameleon languages that support multiple paradigms, including OO. Tcl stands out among these for TclOO, a hybrid object system that supports both prototype-based programming and class-based OO.
⦁ OOP in Dynamic Languages:
In recent years, object-oriented programming has become especially popular in dynamic programming languages. Python, PowerShell, Ruby, and Groovy are dynamic languages built on OOP principles, while Perl and PHP have been adding object-oriented features since Perl 5 and PHP 4, and ColdFusion since version 6.
The Document Object Model of HTML, XHTML and XML documents on the Internet has bindings to the popular JavaScript/ECMAScript language. JavaScript is perhaps the best-known prototype-based programming language, which employs cloning from prototypes rather than inheriting from a class (contrast to class-based programming). Another scripting language that takes this approach is Lua.
⦁ OOP in a Network Protocol:
The messages that flow between computers to request services in a client-server environment can be designed as the linearization of objects defined by class objects known to both the client and the server. For example, a simple linearized object would consist of a length field, a code point identifying the class, and a data value.
A more complex example would be a command consisting of the length and code point of the command and values consisting of linearized objects representing the command's parameters. Each such command must be directed by the server to an object whose class (or superclass) recognizes the command and can provide the requested service.
Clients and servers are best modeled as complex object-oriented structures. Distributed Data Management Architecture (DDM) took this approach and used class objects to define objects at four levels of a formal hierarchy:
Fields defining the data values that form messages, such as their length, code point, and data values.
Objects and collections of objects similar to what would be found in a Smalltalk program for messages and parameters.
Managers are similar to IBM I Objects, such as a directory to files and files consisting of metadata and records. Managers conceptually provide memory and processing resources for their contained objects.
A client or server consists of all the managers necessary to implement a full processing environment, supporting directory services, security, and concurrency control.
The initial version of DDM defined distributed file services. It was later extended to be the foundation of Distributed Relational Database Architecture (DRDA).
Conclusion:
Objects communicate with one another by sending and receiving information from each other. A message for an object is a request for execution of a procedure and therefore will invoke a function in the receiving object that generates the desired results. Message passing involves specifying the name of the object, the name of the function, and the information to be sent.
Great work!
ReplyDeleteGreat work!
ReplyDeleteAmazing write-up!
ReplyDeleteAmazing write up
ReplyDeleteuseful info!
ReplyDelete