Editor's corner object-orientation: Theory and Practice (II)

Editor's corner object-orientation: Theory and Practice (II)

J. SYSTEMS SOFTWARE 1994; 24:91-93 Editor’s Corner Object-Orientation: Robert 91 Theory and Practice (II) L. Glass This is the third special issu...

274KB Sizes 0 Downloads 34 Views

J. SYSTEMS SOFTWARE 1994; 24:91-93

Editor’s Corner Object-Orientation: Robert

91

Theory and Practice (II)

L. Glass

This is the third special issue of the Journal of Systems and Software on object-orientation published in a little over a year (the previous such issues were published in January and November, 1993). That fact reflects a continuing enormous interest in the subject, as evidenced by the number of papers we have received. This particular special issue is distinguished from the previous ones because many (although not all) of the papers are specifically related to the information systems application domain. It is particularly interesting that the focus on 00 approaches, which began in what might be traditionally thought of as the Computer Science community, has now spread beyond its borders. In the editor’s corner accompanying the special issue a year ago, we asked the question “What do we know about the success of 00 in practice? Is its proclaimed potential born out by successful applications?” We then provided some “Yes, but.. . ” answers. In this editor’s corner, we’d like to ask and answer those same questions again. These answers, once again reprinted (with permission) from The Software Practitioner (Computing Trends, P. 0. Box 213, State College PA 16804), paint a somewhat different picture. As opposed to the largely positive findings presented in Jan., 1993, these results are discouraging. They show a complex technology with potential application-specific performance problems, and a mixed picture of success ranging from “highly influential” to “least successful.” Perhaps more importantly, they indicate a low likelihood of rapid adoption in practice. That’s a lot of change in one year. In one case 00 has moved from best to worst new technology! It will be interesting to check back into the status of the 00 approaches in another year. Will the results be dramatically different again? Stay tuned! OBJECT-ORIENTATION: STILL “THE MOST INFLUENTIAL METHODOLOGY STUDIED TO DATE”

A year ago the NASA-Goddard Software Engineering Lab called object orientation “the most influen0 Elsevier Science Inc. 655 Avenue of the Americas,

New York, NY 10010

tial methodology studied by the SEL to date.” Twelve months of further experimentation have now passed. Does the SEL still take this position? “Yes” was the vote of Mike Stark of the SEL, who is responsible for the ongoing experiments, now entering their eighth year. He cited these findings: l l

l

Reuse is up from 20-30% in past projects to 80%. Reuse now includes reconfigurable specifications and reusable architectures, not just reusable component parts. O-O solutions are about i the length (in lines of code) of comparable traditional solutions.

But Stark issued some warnings about the O-O approach: The SEL has had performance problems on O-O projects (however, Stark said that design problems rather than O-O itself were responsible). There is no data yet on the maintainability of O-O software. Reuse benefits come only through domain analysis (gaining a thorough understanding of the application domain of interest). “O-O is not a silver bullet-skilled still needed.”

designers are

“O-O must be tailored for your own environment.” Stark’s findings are based on a study of 10 large software projects, all in the flight dynamics (scientific engineering) application domain. The studies, nearly all involving the use of Ada, date back to 1985 but are also ongoing. Why does the SEL still consider O-O to be so influential? “Because,” says Stark, “it is a new paradigm, it can be applied to all life cycle phases, it expands the reusability of software, and it improves productivity and reliability.” HOW LIKELY IS RAPID ADOPTION NOT VERY

OF O-O?

What is the likelihood of rapid adoption of the object-oriented (0-O) technologies in software practice?

0164.1212/94/$7.00

92

Editor’s Corner

J. SYSTEMS SOFTWARE 1994; 24:91-93

Very low, according to Robert G. Fichman and Chris F. Kemerer of MIT, writing in the Sloan Management Review, Winter 1993 issue. In their paper, “Adoption of Software Engineering Process Innovations: The Case of Object-Orientation,” they examine the determining elements of technology transfer from a theoretical point of view, and find that O-O rates low in most of them. Considering such elements as relative advantages over and compatibility with prior approaches, complexity, availability of sponsorship, and irreversibility of investments (among others), the authors build a model of new technology acceptance. They then test the model against such prior innovations as the structured techniques, 4GLs, and relational data base systems. Their conclusion? “O-O rates about the same as . . . the lowest of the previously reviewed software engineering innovations. . . . Our conclusion [is] that O-O has low prospects for becoming dominant in large in-house IS organizations.. . .” The authors note that their conclusion “is in sharp contrast to the enthusiastic touting we hear in the trade press.” OBJECT-ORIENTATION FOR REAL-TIME? NEW MEANING FOR THE EXPRESSION ‘O-O’!

What does using object-oriented programming do to the run-time performance of its object programs? In a paper presented at OOPSLA ‘91 Craig Chambers and David Ungar found that object code produced by their SELF compiler “runs close to half the speed of optimized C” (that is, C code ran twice as fast as SELF code). In these days of fast and cheap computers, that may not be much of a problem. But, the authors went on the say, SELF code “runs five times faster than the fastest existing implementation of any other pure object-oriented language with similar features.” Their paper, and several others presented at the conference, spoke of sizing impacts on object code of 130-200 %-that is, object-oriented object code will not only be considerably slower, it will be somewhat larger than non O-O code. This information is consistent with a previous article in The Software Practitioner, in which we reported that Al Goerner of the University of Missouri at Kansas City, speaking at ACM SIGAPP’92, said “indirection overhead is now down to 150-200% of direct execution” and cited one example of “a C + + application that ran at 59% of the [speed] of the comparable C code.”

What do these early findings mean? If efficiency matters for your application (for example, if you have a real-time problem), take a close look before using O-O approaches. BEST TO WORST OBJECT-ORIENTATION TECHNOLOGY

IS LEAST

SUCCESSFUL

Which are the top software technologies, as measured by success rates? According to Systems Development’s “Survey of Advanced Technology: 1993,” they are shown below, contrasted with the 1991 ratings for the same technologies:

Relational databases 4 GLs Structured methods Imaging PC-WS development Packages w/models Client-server End user computing AI/Expert systems Model-based systems Exec info systems CASE Object-orientation

1993

1991

96.0% 86.2% 84.3% 84.3% 83.2% 83.2% 82.7% 81.6% 76.9% 73.3% 71.2% 70.8% 66.3%

84.2% 86.6% 90.2% 70.0% 67.8% 73.1% _____ 75.0% 55.3% 80.7% 63.1% 59.7% 91.7%

The most striking finding? That object-orientation, rated at an astonishingly successful 91.7% in 1991, tops on the list, has fallen in 1993 to the bottom of the list! What happened? There was a clue in the company’s 1991 survey findings, which projects [at that suggested that “object-oriented point] are staffed with . . . champions,” who might have been biased in their level of satisfaction. In other words, the 1993 findings are probably more credible than those of 1991. It is also interesting to note that object-orientation was seen as the most “complex” of the new technologies. The potential correlation with a low success rate is obvious. Note also the consistently low rating of CASE tools and the high rating of 4GLs. The survey also found that “companies are buying technologies but they are not using them extensively” (there is lots of “shelfware” of all kinds) and that “declaring a technology a standard appears to be a statement of intention rather than a commitment” (just because a technology becomes an enterprise standard does not mean it will be used).

J. SYSTEMS SOFTWARE 1994: 24:91-93

Editor’s Corner The survey was an opinion pool of high-level IS executives at the C.I.O., vice president of IS, or director of IS level. Success was measured by whether a project using the technology was successful in its use. (Other rankings show that object-orientation was used on only 11.9% of all projects, but that this was three levels above the least used technology, AI/Expert systems, at only 5.1% of projects.) The survey was conducted by Systems Develop ment, Inc., 8500 College Blvd., Suite 72, Overland

93

Park KS 66210, and contains much more data than shown here. REFERENCES 1. C. Chambers and D. Ungar, Making Pure Object-Oriented Languages Practical, OOPSLA ‘91 Conference Proceedings, ACM Press, 1991. 2. R. L. Glass, Object Orientation: “It’s Not an Easy Technology to Get Used To,” The Software Practitioner (report on a presentation by Al Goemer) May 1992.