1.Fundamentals of Object oriented Programming

Arnab BhowmikArnab Bhowmik
5 min read

1.1-Introduction, Basic Program Construction


Unstructured Programming

  • Unstructured Programming is a type of programming that generally executes in sequential order i.e., these programs just not jumped from any line of code and each line gets executed sequentially.

  • It is also known as non-structured programming that is capable of creating turning-complete algorithms.

  • Here “main program” is a sequence of commands or statements which modify data which is global throughout the whole program.

  • This programming techniques provide tremendous disadvantages once the program gets sufficiently large.

  • No re usability.

Structured Programming

  • Structured Programming is a type of programming that generally converts large or complex programs into more manageable and small pieces of code.

  • These small pieces of codes are usually known as functions or modules or sub-programs of large complex programs.

  • It is known as modular programming and minimizes the chances of function affecting another.

  • Structured programming is a kind of imperative programming where control flow is defined by nested loops, conditionals, and subroutines, rather than via gotos.

Structured ProgrammingUnstructured Programming
It is basically a subset of procedural programs.It is basically a procedural program.
In this, programmers are allowed to code a program simply by dividing the program into modules or smaller units.In this, programmers are not allowed code divide programs into small units. Instead, the program should be written as a single continuous block without any breakage.
It is more user-friendly and easy to understand as compared to unstructured programming.It is less user-friendly and little hard to understand as compared to structured programming.
It is easier to learn and follow.It is difficult to learn and follow
Its advantages include reduce complexity, facilitate debugging, increase programmer productivity programs, etc.Its advantages include its speed.
Such programs can be used for small and medium-scale projects and also for complex projects.Such programs cannot be used for medium and complex projects. Instead, they can be used for small and easier projects.
These programs do not allow code duplication.These programs allow code duplication.
Structured programs use a greater number of data types as compared to unstructured programs.Unstructured programs use a limited number of data types as compared to structured programs.
It does not use GOTO to control the flow of execution. Instead, it uses loops.It uses GOTO to control the flow of execution.
It produces readable code.It hardly produces readable code.
It does not provide full freedom to programmers to program as they want.It provides full freedom to programmers to program as they want.

Procedural Programming

Procedural programming can be defined as programming model which is derived from structured programming, based upon the concept of calling procedure. Procedures, also known as routines, subroutines or functions, simply consist of a series of computational steps to be carried out.

With procedural programming you can combine repeating sequences of statements into one single entity called a procedure

A procedure call is used to invoke the procedure.

The main program coordinates calls to procedures and hands over appropriate data as parameters.

Code reuse is possible.

Programs can now be written in a more structured and error free manner.

For example, if a procedure is correct, every time it is used it produces correct results.

Modular Programming

Modular programming is the process of subdividing a computer program into separate sub-programs. A module is a separate software component. It can often be used in a variety of applications and functions with other components of the system.

With modular programming procedures of a common functionality are grouped together into separate modules.

A program therefore no longer consists of only one single part.

It is now divided into several smaller parts which interact through procedure calls and which form the whole program.

The main program coordinates calls to procedures in separate modules and hands over appropriate data as parameters.Each module can have its own data. This allows each module to manage an internal state which is modified by calls to procedures of this module. However, there is only one state per module and each module exists at most once in the whole program.

Object-Oriented Programming (OOP)

Object-Oriented Programming can be defined as a programming model which is based upon the concept of objects. Objects contain data in the form of attributes and code in the form of methods. In object-oriented programming, computer programs are designed using the concept of objects that interact with the real world.

Organizing code around objects that represent real-world entities or concepts.

These objects have data (attributes) and behaviors (methods) that operate on that data.

Code is organized into classes that define the blueprint for objects and their behavior.

Objects are instances of classes.

Data is encapsulated within objects, protecting it from unauthorized access and modification.

Inheritance allows existing code to be reused and extended for new objects.

Encapsulation and interfaces further promote reusability.

Overview:

Feature

Procedural Programming

Modular Programming

Object-Oriented Programming (OOP)

Focus

Program logic flow

Code reusability

Real-world entities and their behavior

Structure

Linear sequence of functions

Independent modules

Classes and objects

Data Organization

Less emphasis on encapsulation

Data encapsulation within modules

Data encapsulated within objects

Code Reusability

Limited

High emphasis

High emphasis, with inheritance

I would like to express my gratitude for your interest in this article. I hope it has been informative and helpful. Your feedback is valuable to me, so please share your thoughts.

0
Subscribe to my newsletter

Read articles from Arnab Bhowmik directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Arnab Bhowmik
Arnab Bhowmik

Noob programmer & problem solver.