![]() |
![]() ![]() |
3.1 Object-Oriented TechnologyObject-oriented programming languages include Smalltalk, C++, the Java programming language ("the Java language"), and C#, one of the languages available in the Microsoft .Net development environment. These languages support the encapsulation of data with accessor code in terms of abstract data types (commonly called classes). In object-oriented programming languages, the encapsulation capabilities are sufficient for reasonably sized programs. As long as software modules are maintained by individual programmers, encapsulation is sufficiently robust to provide some intrinsic benefits. However, language-specific encapsulation is insufficient to support software reuse and distributed systems. In object-oriented technology, the basic paradigm is changed to enable a separation of concerns. Figure 3.1 shows the object-oriented technology paradigm in which the program is broken up into smaller pieces called objects. Each object contains some of the data of the system, and the program encapsulates that data. In other words, access to the data is available only by using the program through which it is directly associated. In this way, the system is partitioned into modules that isolate changes. Any changes in data representation have an impact only on the immediate object that encapsulates that data. Objects communicate with each other through messages. Messages can have an impact upon state-in other words, changing the data-but only through the encapsulated procedures that have an intimate relationship to the local data. For small-scale programs, the object paradigm is effective in its isolation of change. However, the paradigm is not perfect for all of its potential uses. Object-oriented technology is in widespread use today. It has been said that the procedural technologies originated from academia, but the object-oriented technologies actually originated from commercial organizations. In fact, object-oriented technologies have many interesting origins that go back virtually to the beginning of computer science. Today, object technology is the dominant paradigm for commercial software. Virtually every vendor in the software business is providing object-technology solutions that, together with component infrastructures, can enable interoperability between software vendors in various software environments.
Databases and ObjectsDatabase technologies are also evolving toward objects. The database technologies originated with several different models. In recent years, the relational model of databases has been predominant. More recently, object-oriented databases have become a significant technology market, and databases that combine object orientation and relational concepts are commonplace. Most of the major industry databases, such as Oracle 9i and IBM's DB2 database, include object-relational capabilities. Database query languages, such as Structured Query Language (SQL), are being extended in standards work to support object-oriented concepts. One reason why this is occurring is that the kinds of applications people are creating require substantially more sophisticated types of data representations and types of query algorithms for searching and manipulating the information. Object in the MainstreamObject technology is used today in most application areas and vertical markets. Government organizations and commercial industry are pursuing dozens of projects in object technology. A principal advantage of technology is that it enables the implementation of new business processes that provide competitive advantage to organizations. Society is changing toward increasing dependence upon information technology. The use of object technology enables rapid system implementation and various forms of labor saving through software reuse mechanisms. Even though the largest number of lines of software still exists in procedural languages such as COBOL, it is becoming clear that this paradigm is changing. Scripting LanguagesProponents of scripting languages claim that there are more scripting language programmers than any other kind [Ousterhout 1998]. Scripting languages such as the JavaScript language, TCL shell programming languages, and Visual Basic enable preexisting software (e.g., components) to be easily integrated into application configurations. |
![]() |
![]() ![]() |