0% found this document useful (0 votes)
38 views8 pages

Mitf 208 Object Oriennted Programming Paradigm

The document summarizes object-oriented programming and compares several popular programming languages that use OOP paradigms like Java, Python, C#, and C++. It outlines key concepts of OOP like objects, classes, inheritance, polymorphism, and encapsulation. It also provides characteristics and features of each language.

Uploaded by

rolandsabit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views8 pages

Mitf 208 Object Oriennted Programming Paradigm

The document summarizes object-oriented programming and compares several popular programming languages that use OOP paradigms like Java, Python, C#, and C++. It outlines key concepts of OOP like objects, classes, inheritance, polymorphism, and encapsulation. It also provides characteristics and features of each language.

Uploaded by

rolandsabit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Review of Programming Language Paradigm:

Object Oriented Programming

Submitted by:
Lolly Balagnot
John Eric De Guzman
Joane Nillosgin
John Michael Pagala

Submitted to:
Dr. Sheena I. Sapuay - Guillen

September 17, 2022


I. INTRODUCTION

Object-oriented programming breaks down a programming task into a series of


interactions among different entities or objects. This may be considered an extension
of procedural programming in that the actions performed by each object are specified
by procedures.
Examples of languages that support OOP are:
Java
C++
Smalltalk
 Object-oriented programming (OOP) is a type of programming in which
programmers define not only the data structures, but also the types of operations
(methods) that can be applied to the data structure. This structure becomes an
object that includes both data and methods.
 OOP enables programmers to create modules that do not need to be changed
when a new type of object is added. This makes object-oriented programs easy
to understand and modify.
 OOP has become the most widely used paradigm. Instead of focusing on what
the system has to do, OOP focuses on what objects the system contains and how
they interact towards solving the programming problem.
Concepts of OOP are:
Objects: These are the fundamental run-time sections that trade data once the
program is sent off.
Classes: Similar kinds of items are called classes.
Inheritance: This is the precondition of reusability in OOP in light of the fact
that legacy permits a particular sort of object to procure the qualities of an
article having a place with an alternate class.
Polymorphism: It’s a component that addresses an item’s inclination to play out
numerous tasks.
Data encapsulation and abstraction: This empowers the framework to uncover
basic elements without the need to give any extra subtleties.

II. PROGRAMING LANGUAGES IN OOP AND CHARACTERISTICS


The most common programming languages that are being used today are the following:
JAVA
This is an object-oriented programming language that replaces C++ for its
drawbacks. It is a powerful programming language that can be used from simple
applications to web servers. This makes it one of the most used programming languages
for its flexibility for all types of developers.
Characteristics of Java
1. Java is simple – most syntaxes of java was derived from C and C++ programming
languages. It will be an advantage to a developer who has background in using
these two programming languages. There is also an automatic garbage collector
that removes unused and memory consuming object instances.
2. Object-Oriented – an object-oriented programming is a programming paradigm
that organizes software design around data, rather than functions and logic. It
focuses on the objects that developers desire to handle, rather than logic that is
required to manipulate them. Moreover, Java being an object-oriented
programming language is suited in big, complicated, and frequently updated or
maintained projects.
Java has four (4) basic Object-Oriented Programming concepts, these are:
o Abstraction – it makes use of simple things to represent complexity.
In Java, abstraction means simple things like objects, classes and
variables that represents more complex underlying code and data.
This lets you avoid redundancy.
o Encapsulation – this refers to the practice of keeping fields within
a class private, then providing access to those fields via public
methods. Encapsulation acts a barrier that keeps the data and code
safe within the class itself.
o Inheritance – this lets programmers create new classes that share
some of the attributes of existing classes.
o Polymorphism – it allows programmers to use the same word in Java
to mean different things in different context. One form of
polymorphism is method overloading. That’s when the code itself
implies different meanings. The other form is method overriding.
That’s when the values of the supplied variables imply different
meanings.
3. Platform independent – Java can run on multiple platforms thus making it flexible
to different operating systems such as Windows, Linux, macOS, and others.
4. Secure – Java is secure because of the following features:
 No use of explicit pointers
 Runs inside a virtual sandbox (JVM)
 JRE includes a classloader that is used to dynamically load java classes
into the Java Virtual Machine. It improves security by isolating the
package for local file system classes from those imported from network
sources.
 Byte code verifier
 Security Manager: determines the resources a class has access to, such as
reading and writing to the local disc.
5. Robust – Java is reliable. To provide programming support for resilience, Java
has a runtime exception-handling mechanism. Java forces the programmer to
develop exception-handling code. Java can detect and respond to unusual
circumstances, allowing the application to continue running normally while
elegantly terminating when a runtime fault arises.
6. Architectural Neutral - there are no implementation-dependent aspects in Java,
such as the size of primitive types, it is architecture-neutral.
7. Portable – Java is architecture independent
8. Performance - The performance of a Java bytecode compiled Java program is
determined by how well the host Java virtual machine (JVM) manages its given
tasks and how well the JVM utilizes the computer hardware and operating system
(OS) in doing so
9. Distributed – networking is inherent in java, developing network programs is as
simple as sending and receiving data to and from a file.
10. Multithreaded – Multi-threading is a Java feature that facilitated the execution
of two or more parts of a program at the same time to maximize CPU efficiency.
11. Dynamic – Java is dynamic because of the bytecode. The source code is written
on one platform can be run on any other platform.

PYTHON
Python is a dynamic, high-level, free open source, and interpreted programming
language. It supports object-oriented programming as well as procedural-oriented
programming. In Python, we don’t need to declare the type of variable because it is a
dynamically typed language.
This is a dynamic, high-level, free open source, and interpreted programming
language. In Python, we don’t need to declare the type of variable because it is a
dynamically typed language. For example, x = 10 Here, x can be anything such as String,
int, etc.
Features in Python
1. Free and Open Source
2. Easy to code
3. Easy to read
4. Object-Oriented Language
5. GUI Programming Support
6. High-Level Language
7. Extensible feature
8. Easy to debug
9. Portable
10. Integrated Language
11. Interpreted Language
12. Large Standard Library
13. Dynamically Typed Language
14. Frontend and backend development
15. Allocating Memory Dynamically

C#
This programming language is a modern, general purpose, object-oriented
programming language developed by Microsoft. It is designed for Common Language
Infrastructure (CLI), which consists of the executable code and runtime environment
that allows the use of various high-level languages on different computer platforms and
architectures.
1. Simple – it provides structured approach, rich set of library functions, data types
etc.
2. Modern programming language – based upon the current trend and it is very
powerful and simple for building scalable, interoperable and robust applications.
3. Object oriented
4. Type safe - type safe code can only access the memory location that it has
permission to execute. Therefore, it improves a security of the program.
5. Interoperability - enables the C# programs to do almost anything that a native
C++ application can do.
6. Scalable and Updateable - C# is automatic scalable and updateable programming
language
7. Component oriented - It is the predominant software development methodology
used to develop more robust and highly scalable applications.
8. Structured programming language - C# is a structured programming language in
the sense that we can break the program into parts using functions. So, it is easy
to understand and modify.
9. Rich Library - provides a lot of inbuilt functions that makes the development
fast.
10. Fast speed - The compilation and execution time of C# language is fast.

C++
C++ is a general-purpose programming language that was developed as an enhancement
of the C language to include object-oriented paradigm. It is an imperative and a
compiled language.
C++ is an Object-Oriented Programming Language, unlike C which is a procedural
programming language. This is the most important feature of C++. It can create/destroy
objects while programming. Also, It can create blueprints with which objects can be
created.
Concepts of Object-oriented programming Language:
Class
Objects
Encapsulation
Polymorphism
Inheritance
Abstraction
Characteristics
Machine Independent
Simple
Popular
Case-sensitive
Compiler based
Dynamic Memory Allocation
Multi Threading

RUBY
Ruby is a simple and easy side server scripting programming language. Ruby
programming language is interpreted and it is open source programming language which
means that it is available for free and anyone can use and modify it according to the
requirements of their projects but you need licence to use Ruby programming language.
Ruby programming language is reflective language which is used to write CGI scripts.

It is a general purpose or multi purpose programming language which can be run


on all platforms like Windows, Linux, and Unix, etc. Ruby programming language is also
considered as a pure object oriented programming language as it supports different
concepts of object oriented programming approach like class, inheritance, abstraction,
polymorphism and encapsulation, etc. Ruby programming language provides a vast
range of rich inbuilt library. Ruby programming language is used by programmers in
developing different types of internet and intranet applications.
The syntax of Ruby programming language is very clean and easy and it is similar to the
syntax of many other programming languages like C++ and Perl, etc. Ruby programming
language can be easily added with HTML. And it also provide the feature of automatic
garbage collector.
Characteristics
Object oriented programming
Procedural programming
Rich inbuilt libraries
General purpose programming language
An open source programming language
Automatic garbage collector
Fast and flexible
Platform independent programming language

III. ADVANTAGES AND DISADVANTAGES OF OOP


Productivity of software development increased: Object-arranged writing
computer programs are measured, as it gives detachment of obligations in object-
based program advancement. It is additionally extensible, as articles can be
stretched out to incorporate new qualities and practices. Items can likewise be
reused inside and across applications. Due to these three variables – particularity,
extensibility, and reusability – object-situated programming gives further
developed programming advancement usefulness over conventional strategy
based programming methods.
Software maintenance improved: For the reasons referenced above, object-
oriented programming is likewise simpler to keep up with. Since the plan is
secluded, a piece of the framework can be refreshed if there should arise an
occurrence of issues without a need to roll out huge scope improvements.
Quicker improvement: Reuse empowers quicker advancement. Object-situated
programming dialects accompany rich libraries of articles, and code created
during projects is additionally reusable in later ventures.
Cost of development lowered: The reuse of programming likewise brings down
the expense of advancement. Normally, more exertion is placed into the article
situated examination and plan, which brings down the general expense of
improvement.
Good quality software: Faster improvement of programming and lower cost of
advancement permits additional time and assets to be utilized in the confirmation
of the product. Albeit quality is reliant upon the experience of the groups, object-
situated programming will in general bring about greater programming.

IV. DISADVANTAGES OF OOP


Steep expectation to learn and adapt: The perspective engaged with object-
situated programming may not be normal for certain individuals, and it can invest
in some opportunity to become accustomed to it. It is complex to make programs
in view of the cooperation of articles. A portion of the key programming
procedures, like inheritance and polymorphism, can be tested to appreciate at
first.
Bigger program size: Object-arranged programs commonly include more lines of
code than procedural projects.
More slow projects: Object-arranged programs are normally slower than
procedure-based programs, as they ordinarily require more guidelines to be
executed.
Not appropriate for a wide range of issues: There are issues that loan
themselves well to useful programming style, rationale programming style, or
strategy based programming style, and applying object-arranged programming in
those circumstances will not bring about effective projects.

COMPARISON TABLE FOR ADVANTAGES AND DISADVANTAGES OF OOP


ADVANTAGES DISADVANTAGES
We can reuse the code multiple times using Size is larger than other programs
class

Inherit the class to subclass for data It required a lot of effort to create
redundancy

It is easy to maintain and modify It is slower than other programs

It maintains the security of data It is not suitable for some sorts of


problems

Low-cost development It takes time to get used to it


Conclusion

Object-Oriented Procedural programming would remain important in the domain


of information technology. You cannot ignore OOP programming if you’re concerned
about maybe being a component of this ever-growing area or hiring the finest offshore
engineers. A few of the assist in understanding above might be an excellent location to
begin your OOP adventure.

Sources:
https://www.emizentech.com/blog/top-object-oriented-programming-
languages.html?fbclid=IwAR2alHMbyZxr5dD2PRR5YBE4yOQmj6KM-rW5SY09cyr299DnBzr0c_wghDg
https://www.aplustopper.com/advantages-and-disadvantages-of-oop/
https://www.answersjet.com/2021/05/ruby-programming-language-history-features-applications-why-
learn.html
https://www.geeksforgeeks.org/python-features/
https://www.interviewbit.com/blog/characteristics-of-java/

You might also like