COURSES
MBAData Science & AnalyticsDoctorate Software & Tech AI | ML MarketingManagement
Professional Certificate Programme in HR Management and AnalyticsPost Graduate Certificate in Product ManagementExecutive Post Graduate Program in Healthcare ManagementExecutive PG Programme in Human Resource ManagementMBA in International Finance (integrated with ACCA, UK)Global Master Certificate in Integrated Supply Chain ManagementAdvanced General Management ProgramManagement EssentialsLeadership and Management in New Age BusinessProduct Management Online Certificate ProgramStrategic Human Resources Leadership Cornell Certificate ProgramHuman Resources Management Certificate Program for Indian ExecutivesGlobal Professional Certificate in Effective Leadership and ManagementCSM® Certification TrainingCSPO® Certification TrainingLeading SAFe® 5.1 Training (SAFe® Agilist Certification)SAFe® 5.1 POPM CertificationSAFe® 5.1 Scrum Master Certification (SSM)Implementing SAFe® 5.1 with SPC CertificationSAFe® 5 Release Train Engineer (RTE) CertificationPMP® Certification TrainingPRINCE2® Foundation and Practitioner Certification
Law
Job Linked
Bootcamps
Study Abroad
Master of Business Administration (90 ECTS)Master of Business Administration (60 ECTS)Master in Computer Science (120 ECTS)Master in International Management (120 ECTS)Bachelor of Business Administration (180 ECTS)B.Sc. Computer Science (180 ECTS)MS in Data AnalyticsMS in Project ManagementMS in Information TechnologyMasters Degree in Data Analytics and VisualizationMasters Degree in Artificial IntelligenceMBS in Entrepreneurship and MarketingMSc in Data AnalyticsMS in Data AnalyticsMaster of Science in AccountancyMS in Computer ScienceMaster of Science in Business AnalyticsMaster of Business Administration MS in Data ScienceMS in Information TechnologyMaster of Business AdministrationMS in Applied Data ScienceMaster of Business AdministrationMS in Data AnalyticsM.Sc. Data Science (60 ECTS)Master of Business AdministrationMS in Information Technology and Administrative Management MS in Computer Science Master of Business Administration MBA General Management-90 ECTSMSc International Business ManagementMS Data Science MBA Business Technologies MBA Leading Business Transformation Master of Business Administration MSc Business Intelligence and Data ScienceMS Data Analytics MS in Management Information SystemsMSc International Business and ManagementMS Engineering ManagementMS in Machine Learning EngineeringMS in Engineering ManagementMSc Data EngineeringMSc Artificial Intelligence EngineeringMPS in InformaticsMPS in Applied Machine IntelligenceMS in Project ManagementMPS in AnalyticsMS in Project ManagementMS in Organizational LeadershipMPS in Analytics - NEU CanadaMBA with specializationMPS in Informatics - NEU Canada Master in Business AdministrationMS in Digital Marketing and MediaMS in Project ManagementMaster in Logistics and Supply Chain ManagementMSc Sustainable Tourism and Event ManagementMSc in Circular Economy and Sustainable InnovationMSc in Impact Finance and Fintech ManagementMS Computer ScienceMS in Applied StatisticsMS in Computer Information SystemsMBA in Technology, Innovation and EntrepreneurshipMSc Data Science with Work PlacementMSc Global Business Management with Work Placement MBA with Work PlacementMS in Robotics and Autonomous SystemsMS in Civil EngineeringMS in Internet of ThingsMSc International Logistics and Supply Chain ManagementMBA- Business InformaticsMSc International ManagementMBA in Strategic Data Driven ManagementMaster of Business AdministrationMSc Digital MarketingMBA Business and MarketingMaster of Business AdministrationMSc Digital MarketingMSc in Sustainable Luxury and Creative IndustriesMSc in Sustainable Global Supply Chain ManagementMSc in International Corporate FinanceMSc Digital Business Analytics MSc in International HospitalityMSc Luxury and Innovation ManagementMaster of Business Administration-International Business ManagementMS in Computer EngineeringMS in Industrial and Systems EngineeringMSc International Business ManagementMaster in ManagementMSc MarketingMSc Business ManagementMSc Global Supply Chain ManagementMS in Information Systems and Technology with Business Intelligence and Analytics ConcentrationMSc Corporate FinanceMSc Data Analytics for BusinessMaster of Business AdministrationMaster of Business Administration 60 ECTSMaster of Business Administration 90 ECTSMaster of Business Administration 60 ECTSMaster of Business Administration 90 ECTSBachelors in International ManagementMS Computer Science with Artificial Intelligence and Machine Learning Concentration
For College Students

Procedural Programming vs OOP - Know the Concepts

$$/$$

In the next video, you will learn about two of the most widely used paradigms to develop a system: procedural programming and object-oriented programming.

$$/$$

In the previous video, you learned about procedural paradigm and object-oriented paradigm to build software. In procedural programming, an application is visualized as a sequence of steps, whereas in object-oriented programming, an application is visualized as a group of objects. Because a system is designed in a sequence of steps, the procedural approach becomes difficult when you want to evolve your system, as adding a new step in between may break all steps afterwards. But this is not the case with the object-oriented approach, where everything is visualized as an object and adding new functionality is like adding a new object. So if you have to develop a system, object-oriented programming is a better choice than procedural programming. Because of this, most of the systems today are developed in object-oriented programming languages, such as Java and C++.

 

Video Transcript

 

Now that we understand requirements of a product that we are going to build now let's say how do I go ahead building it, how do I implement it? Historically there are like two ways that you can think of how can I build a product? One is hey, I have a product. Let's say I'm going to build an app. First I click on my home button, something else appears, a bunch of other icons and images appears and then I click on another button and then next set of events happens. So this kind of drives as a sequence. When it drives through a sequence at first as step one do something and then on this it could deviate into two different ways based on the user action, user behavior, it could be two or three and so on. So based on the user action, your product could behave differently, your application behaves differently.

 

So this becomes more of a sequential way where it becomes more of a procedural. You know that there is a procedure and you go in sequence in contrary, the other approach that we can think of is object oriented where you visualize, you think everything as an object. For example, let's take the same example of an application mobile app that we built where everything that you see on Nap, you visualize it as an object. If I take WhatsApp as an example, let's say the very fundamental thing that we do is a message. A message. If I see it as an object,

 

I can think of this message could be of different types one as a text, other as an audio, another as a video or my location and so on. So I think of object and I think of messages and object and different types of messages are different types or subtypes of a message. Similarly, every other action that I can do in my app, for example, creating a group and viewing my contacts, each of my contact, everything can be viewed as an object. So that's when you actually start thinking about an object how this plays over a procedural, let's say the product evolves over a period of time. Let's say I need another functionality to my object wherein let's say for example I need to delete a message or I need to auto kill a message after some time. So when I need a new functionality or a behavior, it becomes quite challenging in my procedural world where I am not sure where I need to introduce that new feature either after step two, one three or before step one. And when I do this, since things are all in procedural and sequential way, I need to be really careful how the following steps behave and what could break in. Contrary, in object oriented principles we think everything as an object and if I need a new functionality or a new icon that becomes a new object and all the features or behaviors becomes attached to this object. I introduce a new object and have methods. And if something breaks or anything happens, it matters only to this object and it doesn't impact the others. So that's where thinking in terms of objects helps. And that's where it helps you evolve the product as well. 

 

Video Recap

 

  • There are two historical ways to build a product - procedural and object-oriented.

  • Procedural approach is sequential where the product behavior is based on the user's action, while object-oriented approach visualizes everything as an object.

  • In an object-oriented approach, each action in the product is considered as an object with its own functionalities and behaviors attached to it.

  • When a new feature needs to be added in the procedural approach, it becomes challenging to decide where to introduce it without breaking the sequential flow.

  • In an object-oriented approach, a new feature becomes a new object with its own functionalities and does not impact the existing objects.

  • Thinking in terms of objects helps in evolving the product over time.

 

So now you know, in object-oriented programming languages, everything is visualized as an object. But what really is an object. In the next video, you will learn more about objects.

$$/$$

In the previous video, you learned about objects. Object normally represent some physical entity in your system but is not just limited to that. For example, you can create an object to represent a user who is a physical entity. But you can also create an object to represent menu buttons, which is not a physical entity. An object has two things, attributes and methods. Attributes represent properties of an object, whereas methods represent actions that can be performed by that object. For example, in your WhatsApp app, if a user is an object, then its attributes will be the name, status, DP and so on. Its methods will be such as send message, delete message, join group and so on.

$$/$$

In this segment, you learned about procedural paradigm and object-oriented paradigm of software development. Object-oriented programming or OOP is better than procedural programming to build huge system. You also learned about objects, attributes and methods.