The
genesis of the computer revolution was in a machine. The genesis of our
programming languages thus tends to look like that machine.
But
computers are not so much machines as they are mind amplification tools
(“bicycles for the mind,” as Steve Jobs is fond of saying) and a
different kind of expressive medium. As a result, the tools are beginning to
look less like machines and more like parts of our minds, and also like other
expressive mediums such as writing, painting, sculpture, animation and
filmmaking. Object-oriented programming is part of this movement toward the
computer as an expressive medium.
This
chapter will introduce you to the basic concepts of object-oriented programming
(OOP), including an overview of OOP development methods. This chapter, and this
book, assume you have had experience in some programming language, although not
necessarily C. If you feel you need more preparation in programming and the
syntax of C before tackling this book, you may want to consider
MindView’s “Thinking in C: Foundations for C++ and Java”
training CD ROM, available at http://www.MindView.net.
This
chapter is background and supplementary material. Many people do not feel
comfortable wading into object-oriented programming without understanding the
big picture first. Thus, there are many concepts that are introduced here to
give you a solid overview of OOP. However, many other people don’t get
the big picture concepts until they’ve seen some of the mechanics first;
these people may become bogged down and lost without some code to get their
hands on. If you’re part of this latter group and are eager to get to the
specifics of the language, feel free to jump past this chapter – skipping
it at this point will not prevent you from writing programs or learning the
language. However, you will want to come back here eventually, to fill in your
knowledge so that you can understand why objects are important and how to
design with them.