The necessity of performing complex tasks by computer software has become imperative in today's rapidly changing and competitive environment. The software industry and the software professionals are looking for new methods and fresh approaches which will cater to the complexity of software systems. There are inherent limitations in earlier generation of computer languages due to which they are unable to address the present demands. They are also prone to errors which may prove costly in terms of reprogramming and correction of obsolete code. During the history of programming, many different methods have been used.
Procedural programming relied on completing a list of instructions according to an algorithm. The emphasis is on processing. The issue of data is secondary. In modular programming, large programs are broken into smaller parts. This makes handling of the overall development and later maintenance easier.
The problem with the above methods is that components of the program do not reflect the real world. Also data cannot be changed without altering the program modules themselves. The latest programming approach, Object oriented programming (OOP), offers a new and powerful way to tackle the present complexities. This approach makes the task of programming easier, more reliable , reusable and robust. It also leads to better management during software development and ease of maintenance during its entire lifecycle.
The program mirrors the real world efficiently as well as provides of data manipulation without change in program code. The features which separate object oriented programming from other languages is modularity, inheritance, data abstraction, polymorphism and encapsulation. When we look at the present day development environment, it becomes obvious that an advanced programming language is required to handle large projects. Older languages fail to work in a collaborative setup and may lead to reduced maintainability and up gradation.
Typically many hundreds of programmers work on a single project. The whole program is divided into smaller chunks or modules and a programmer is assigned to each of these tasks. A system specialist coordinates the complete project. An important feature of object oriented programming is the separation of data from the executing program. Earlier programming languages had no boundary between the data and the program. This meant that any change in data structure had to be accompanied by a change in program.
By separating the two, an OOP, does away with this restriction. An object oriented program is modular and each module can be developed by a programmer. All these modules put together make one whole. There are many advantages of modularity . It becomes easier to maintain as any error in programming can be isolated within a specific module.
One need not search through the entire program to isolate the errors. Data is handled separately and therefore cannot be compromised. Each part of the program is treated as an object.
Reusability can be achieved with object oriented programming. Modern languages are all built with object oriented framework. In fact it is a breakthrough concept in computer programming.
Copyright (c) 2007 Dean Barnard.
Join me at Deans IT Support and I will be in touch soon friend.