Posts

Showing posts from February, 2023

OBJECT-ORIENTED PROGRAMMING PARADIGM

The major motivating factor in the invention of object-oriented approach is to remove some of the flaws encountered in the procedural approach. OOP treats data as a critical element in the program development and does not allow it to flow freely around the system. It ties data more closely to the functions that operate on it, and protects it from accidental modification from outside functions. It allows decomposition of a problem into a number of entities called objects and then builds data and functions around these objects. The data of an object can be accessed only by the functions associated with that object. However, functions of one object can access the functions of other objects. Some of the striking features of object-oriented programming: Emphasis is on data rather than procedure. Programs are divided into what are known as objects. Data structures are designed such that they characterize the objects. Functions that operate on the data of an object are tied together in the da...

A LOOK AT PROCEDURE-ORIENTED PROGRAMMING

Conventional programming, using high level languages such as COBOL, FORTRAN and C, is commonly known as procedure-oriented programming (POP). In the procedure-oriented approach, the problem is viewed as a sequence of things to be done such as reading, calculating and printing. A number of functions are written to accomplish these tasks. The primary focus is on functions. The technique of hierarchical decomposition has been used to specify the tasks to be completed for solving a problem. Procedure-oriented programming basically consists of writing a list of instructions (actions) for the computer to follow, and organizing these instructions into groups known as functions. Flowchart is normally used to organize these actions and represent the flow of control from one action to another. In a multi-function program, many important data items are placed as global so that they may be accessed by all the functions. Each function may have its own local data.          Dr...

SOFTWARE EVOLUTION

Ernest Tello (well-known writer in the field of artificial intelligence), compared the evolution of software technology to the growth of tree. The software evolution has had distinct phases or "layers" of growth. These layers were built up one by one, with each layer representing an improvement over the previous one. In software systems, each of the layers continues to be functional, whereas in the case of trees, only the uppermost layer is functional.          Alan kay (promoter of the object-oriented paradigm and the principal designer of Smalltalk), has said: "As complexity increases, architecture dominates the basic material". To build today's complex software it is just not enough to put together a sequence of programming statements and sets of procedures and modules; we need to incorporate sound construction techniques and program structures that are easy to comprehend, implement and modify. Many programming approaches, include techniques such as modular p...

SOFTWARE CRISIS

Developments in software technology continue to be dynamic. New tools and techniques are announced in quick succession. This has forced the software engineers and industry to continuously look for new approaches to software design and development, and they are becoming more and more critical in view of the increasing complexity of software systems as well as the highly competitive nature of the industry. यही software design और development के नये approaches हमेशा और निरंतर देखते रहने के लिये software engineers और Industry को force करता है  These rapid advances appear to have created a situation of crisis within the industry. The following issues need to be addressed to face this crisis: How to represent real-life entities of problems in system design? How to design systems with open interfaces? How to ensure reusability and extensibility of modules? How to develop modules that are tolerant to any changes in future? How to improve software productivity and decrease software cost? How...

Notes : OBJECT-ORIENTED PROGRAMMING WITH C++ (E Balagurusamy)

 Contents     1.      Principles of Object-Oriented Programming               1.1          Software Crisis               1.2          Software Evolution               1.3          A Look at Procedure-Oriented Programming               1.4          Object-Oriented Programming Paradigm               1.5          Basic Concepts of Object-Oriented Programming               1.6          Benefits of OOP               1.7          Object-Oriented Languages               1.8 ...