Context
Object Orientation, sometimes called
object technology, is a set of still-evolving theories, techniques and tools for
developing complex software systems. It is based on the idea that software systems are
best thought of as set of interacting parts, objects, that do the work of the system by
sending messages to each other. (Although the Internet is not an object-oriented system,
it is quite useful to think of object-oriented systems as working in a similar way.)
Object technology has particular strengths because it allows developers to move in a
relatively smooth fashion from that part of the world that the software has to simulate to
the software itself. For example, in an object-oriented implementation of a banking system
(i.e. in the code) you should find customer objects that directly and straightforwardly
represent how actual bank customers behave.
Most software development
technologies evolve after a language has emerged that best represents the ideas. The
programming languages Simula and Smalltalk were the starting points for object technology.
Then came C++ and Java. C++ has some support for object concepts and became hugely popular
because of its relationship with C. Java has given a further boost to object technology
because of the Web, not to mention its superficial relationship with C++ and its inclusion
of many ideas from Smalltalk.–
Java is a relatively new
programming language developed by Sun Microsystems, Inc. Java started out in 1991 as a
project code-named Green and the language was at one stage called Oak. Java is thought by
many to have been a compromise between what its two inventors, James Gosling and Bill Joy,
wanted. An early motivation was to design a language for embedded systems, however
other desirable language features were added and Java is the result.
There are many existing computer programming
languages, however Java has certain features that motivated its creation and widespread
adoption by software developers and universities. One of these features is the portability
of Java software – the same ‘pure’ Java software can run on many different
types of computer system with no changes, including PC-compatibles, Macintosh, and
computers running a variety of Unix systems.
Another feature of Java is that it is possible to
create Java software (called ‘applets’) that can be included as part of a web
page, and so run on any computer with no software required except a Java-enabled web
browser.
A strength of Java is that it implements most of the
concepts of object-oriented systems. As will become apparent as you progress through the
module, object technology encourages and facilitates both software reuse, and the
development of programs that can model and respond well to modern, event-driven
multi-tasking, graphical user interfaces-based software systems.
Before learning about Java in the following units of
the module, it is important to understand the fundamental concepts behind computers,
software systems and object-oriented systems. This unit has been written in a way that
presents ideas about systems, software systems and object concepts first in abstract
terms, then in more concrete terms.
There are a lot of new concepts introduced in this
unit, some are core concepts, others are important background concepts for anyone studying
and working with computer systems. Use the activities and unit test questions to help
focus on understanding and apply the important concepts. You will probably find your self
revisiting this unit each time you complete a later unit, as your personal model of
computing and computer systems developed through the learning of object-oriented
technology with the Java programming language.
Back
to top

RITSEC - Global Campus
Copyright ?1999 RITSEC- Middlesex University. All rights reserved.
webmaster@globalcampus.com.eg
|