Classification of programming language based on the data flow:-

  1. Procedural Programming

  2. Object Oriented Programming

  3. Event based Programming

Data flow is the important part in programming/computers,every program is designed according to the flow of data/use of memory,on the basis of flow of data programming is categorized such as:-

Procedural Programming

Procedural programming is also know as STRUCTURAL Programming,STRUCTURAL Procedural Programming or Programming paradigms.

In procedural Programming we divide programs in structures and the structure of programming is pre-define.

A procedural program is composed of one or more modules. Each module is composed of one or more subprograms. Modules may consist of procedures, functions, subroutines or methods, depending on the programming language. Procedural programs may possibly have multiple levels or scopes, with subprograms defined inside other subprograms. Each scope can contain names which cannot be seen in outer scopes.

Benefits of Procedural programming:

  • It's easier to read and more maintainable
  • It's more flexible
  • Facilitates the practice of good program design
  • Allows modules to be used again in the form of code libraries.

Object Oriented Programming

Most popular and also known as OOP's based programming.

In OOPs we use Classes and objects, Classes can be seen as blue prints whereas objects are the common entity which represents the behavior of class,for example let's say Pen is a class then its object's can be pencil,pen,ink-pen,ball point pen,gel pen,permanent pen and so on.Similarly class can be anything which represents similar type of group of objects with similar properties and behavior.

OOP is totally a programming language model organized around objects and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data.

OOPs made miracle changes in programming language like:-

  • Data Abstraction
  • Encapsulation
  • Modularity
  • Inheritance
  • Polymorphism


Event Based Programming

In computer programming, event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions (mouse clicks, key presses), sensor outputs, or messages from other programs/threads. Event-driven programming is the dominant paradigm used in graphical user interfaces and other applications (e.g., JavaScript web applications) that are centered on performing certain actions in response to user input. This is also true of programming for device drivers (e.g., P in USB device driver stacks

Advantages of Event based Programming:

  • A trivial event handler

  • Exception handlers

  • Creating event handlers