Letters - Letter to the Editor
Sarah C. BellMUDDYING THE 00 WATERS
I appreciate your "Gerrymandering MIS" editor's letter in the September 1992 Client/Server Computing special edition of Software Magazine. As a member of the sales and marketing team at The Stepstone Corp., the developer of Objective-C, I have been involved with the gerrymandering of object-oriented programming languages for five years now. I was, however, very disappointed in the article "Users Discover Objects" on object-oriented programming in the same issue.
Articles such as this further muddy the waters of what comprises object-oriented programming and serve to further substantiate unfounded preconceptions of what the technology can and will deliver. The author surveyed the object-oriented tools available and how they are affecting current trends in MIS. He is, in fact, comparing apples and oranges.
His main example of an object-oriented application is the report-handling system developed by the San Jose Police Dept. with a "point-and-click" application development tool called ObjectVision from Borland. This type of tool is part of a growing trend, on the part of software companies, to apply the word "object" to any software that is icon-based. If you are moving objects around on the screen, then your application must be object-oriented.
The interchange of the word "object" for icon, widget and pictorial graphic, causes categories of Case tools, which are object-oriented by name only, to be lumped in with truly object-oriented tools -- tools that are built to support software development with an object-oriented language.
Misrepresenting point-and-click application generators as object-oriented development tools gives IS managers misleading expectations. Through the adoption of these tools, IS managers believe that they can bypass the training costs involved in shifting paradigms and see an immediate return on investment with their first project. This may be true of these tools, but neither is true of adopting an object-oriented paradigm.
Although it is not really the fault of the author that object-oriented technology is broadly misrepresented, he did state that IS managers "are wary of object-oriented programming tools because suppliers of these tools come from a single-user, single-developer view of the world."
The vendors of Case tools may be guilty of this, but not the vendors of true object-oriented programming tools. [Stepstone's] Objective-C particularly lends itself to the development of large network and distributed applications, as well as making it possible for multiple teams of programmers to develop an integrated system without having to know the details of the entire system. True encapsulation of code provides insulation of implementation details, an optimum environment for open architectures and complete system transparency.
As far as reusability, Objective-C was designed expressly for this purpose. The dynamic messaging model supported by Objective-C makes truly reusable class libraries possible. For example, Container classes may contain objects of any class, not just ones that share a common superclass. Even more important, they will be able to contain objects from classes that have not even been written yet.
Classes defined by separate development groups can be used in an application without having to modify the modules once they are delivered. This is a direct result of deferring binding past compile time, something C++ does not allow. The real problem in representing the technology accurately is that Borland, and any other C++ vendor, is representing their tools as object-oriented. ObjectVision is written in C++; therefore, it is not object-oriented.
Objective-C was created to boost programmer productivity by lending itself to the creation of reusable software components. C++ was intended to fix what was inefficient in the C language at the machine level. It lacks dynamic, or runtime binding, which supports modularity, and is essential for software reuse. C++'s approach is not to have a central routine, but to go directly from the calling site to the target site, a basic principle of a procedural language.
Another point I would like to make is that our product was incorrectly listed as running only on DOS. Stepstone has made Objective-C the most widely supported object-oriented language available. We have compilers for Sun, Hewlett-Packard, DEC (under VMS and Ultrix), IBM (mainframes running MVS, the RS/6000 and PCs running DOS/Windows, OS/2 or AIX), Data General, Mips Computer Systems and Apple Computer's Macintosh.
Very recently we completed a port to the Silicon Graphics Indigo workstation. Objective-C is also available on the NeXT machine from NeXT, Inc., and is the basis of NeXTStep, their much heralded interface builder.
CRACKER vs. HACKER
In the August 1992 issue of Software Magazine, I was disappointed to see the words "hacker" and "cracker" used interchangeably in the article "Open Security an Oxymoron?" (page 71).
The New Hacker's Dictionary, ed. Eric S. Raymond (Cambridge, Mass.: MIT Press, 1991), defines a cracker as "one who breaks security on a system," while a hacker is "one who enjoys the intellectual challenge of creatively overcoming or circumventing limitations." Hacker originally grew as a term of admiration for ingenuity, and was misapplied to an entire group when a few members misbehaved. Tarring all hackers with that brush is like assuming that all athletes use steroids.
Crackers make headlines. Hackers have fun and impress each other. I would expect to see the word cracker alone in your publication -- hackers don't make news.
COPYRIGHT 1993 Wiesner Publications, Inc.
COPYRIGHT 2004 Gale Group