1.4 Capacity to build larger systems
For a given language, the larger a system, the more lines of code it
contains. The more lines of code the system contains, the longer it takes
to build, to test and to fix. Of course thats an over-simplification.
Nevertheless, by using suitable higher-level languages to tackle system
construction, you can normally eliminate some back-end development
problems.
A library of object-oriented classes constitutes a set of high-level
language statements tailored towards the types of application that your
shop normally undertakes. For example, a feature, method or
member-function add_part might be equivalent to 30 or 40
procedural-language statements. (This is analogous to the fact that in
Pascal, say, an assignment statement might be equivalent to 3 or 4
assembler instructions.)
This is an important reason that a shop using object orientation may have a
greater chance of success in building larger systems. In an implementation
sense, object orientation raises the level of the playing field.
2. Why some managers really want to adopt object orientation
In Section 1, following the lead of most books, journals and conferences on
object orientation, I extolled the tremendous merits of object orientation.
These merits underlie the justifications that most managers announce
(explicitly and in public, at least) for their contemplating the move to
object orientation. In other words, reusability, robustness and so forth
are the politically correct reasons for moving to object orientation.
But now, as they say, for something completely different. In this section,
I investigate several other reasons ranging from the ridiculous to the
defensible for adopting object orientation, which Ive discovered through
a bit of subterfuge. Several times a week I get an inquiry about the
object-oriented courses that we (Wayland Systems) offer. Usually inquirers
tell me that their shop is going object oriented or some similar
expression. I then ask why?
The ensuing conversation goes something like this:
Why what?
Why is your shop adopting object orientation?
This question is apparently so bizarre that it often engenders total
silence. I can imagine people holding the phone away from their face and
just staring at it. Eventually, however, I get an answer. Here,
summarized or paraphrased, are some of the answers (apart from the
standard, politically correct ones) that Ive received during the past few
years:
- Its the latest thing, isnt it?
- I read about it in Business Week.
- My bosss boss read about it in Business Week.
- I think our competitors are using it.
- Our programmers want C++ on their resumes.
- Three of us went to a talk by Bertrand Meyer and were really enthused.
- Structured techniques dont work.
- C++ is a better C.
- We want to use a purchased library.
- Our new development tool forces us into it.
The following subsections explore the proffered reasons one by one.