Recent Trends in Programming (CT 101): IOE Notes on OOP
An illustration of recent trends in programming like OOP and modern languages
Recent Trends in Programming
2 hours | 3 marks

COMPUTER PROGRAMMING (CT 101) – Chapter 10

The world of software development is constantly evolving. This chapter on Recent Trends in Programming explores the shift from traditional procedural programming to the modern, data-centric paradigm of Object-Oriented Programming (OOP). We will also provide a brief overview of several high-level languages that dominate the industry today.

Chapter Information

Chapter 10: Recent Trends in Programming (2 hours) – 3 marks

Course: Computer Programming (CT 101), I Year I Part

Description: This guide provides an overview of recent trends in programming, focusing on Object-Oriented Programming (OOP) vs. POP, and modern high-level languages, as per the IOE syllabus.

Credit: Sujan Karki

Detailed Chapter Notes

10.1 Introduction to OOP (Object-Oriented Programming)

Object-Oriented Programming (OOP) is a programming paradigm that revolves around the concept of “objects.” Unlike traditional Procedure-Oriented Programming (POP), which focuses on functions or procedures, OOP places its primary emphasis on the data. In OOP, data and the code that operates on that data are bundled together into a single unit called an object.

10.2 Definitions of Class, Method and Object in OOP

Object

An object is a fundamental entity in OOP that represents a real-world thing, whether physical (like a car) or conceptual (like a bank account). An object has:

  • State (Attributes): The data or properties that describe the object (e.g., a car’s color, model, speed).
  • Behavior (Methods): The actions that the object can perform (e.g., a car can `start()`, `stop()`, `accelerate()`).

Class

A class is a blueprint or template for creating objects. It defines the common attributes and methods that all objects of that class will have. For example, a `Car` class would define that every car object has a color and can accelerate, but each individual car object would have its own specific value for color.

Method

A method is simply a function that is defined inside a class. It operates on the object’s data (attributes). You interact with an object by calling its methods, for example: `myCar.start();`

10.3 Difference between POP and OOP

Feature Procedure-Oriented Programming (POP) Object-Oriented Programming (OOP)
Emphasis On procedures or functions (the “doing”). On data and objects.
Program Division Divided into functions. Divided into objects.
Data Access Data is often global and can move freely between functions. Data is hidden (encapsulated) and can only be accessed by the object’s own methods.
Approach Top-down design. Bottom-up design.
Debugging Can be difficult as data is exposed. Easier due to data hiding and modularity.

10.4 Overview of other High-Level Programming Languages

Beyond C and C++, the programming landscape is rich with languages designed for various tasks.

  • Python: Praised for its simplicity and readability. Widely used in data science, AI, web development, and scripting.
  • Java: A versatile, platform-independent language used for large-scale enterprise applications, web backends, and Android mobile apps.
  • JavaScript: The language of the web. Essential for creating interactive front-end experiences and, with Node.js, for server-side development.
  • C#: Developed by Microsoft, it’s the primary language for building Windows applications and games in the Unity engine.
  • R: A specialized language for statistical computing and data visualization, favored by statisticians and data analysts.
  • Kotlin: A modern, concise language that is now Google’s preferred language for Android development. It’s fully interoperable with Java.
  • Ruby: Known for its elegant syntax and the powerful Ruby on Rails framework, which speeds up web development.

PDF Notes

×

Disclaimer

The educational materials provided on this website are intended as supplementary resources to support your learning journey. These study materials are sample documents designed to help students understand complex concepts in C Programming.

We have made every effort to ensure the accuracy of the content. However, we recommend students to refer to standard textbooks and consult with professors for authoritative explanations. These materials should be used as references only.

Scroll to Top