Article View: comp.lang.eiffel
Article #1229Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
From: Kazimir Kylheku
Date: Wed, 17 Apr 1996 19:11
Date: Wed, 17 Apr 1996 19:11
59 lines
3884 bytes
3884 bytes
In article <4l3auv$jnt@onramp.arc.nasa.gov>, Hugh LaMaster <lamaster@viking.arc.nasa.gov> wrote: >In article <goochb.334.0015B418@rwi.com>, >goochb@rwi.com (William D. Gooch) writes: > >|> Kazimir Kylheku (c2a192@ugrad.cs.ubc.ca) wrote: >|> >|> >The OO arena is a philosophical one. I don't particularly subscribe to the >|> >view >|> >that there ought to be a naive correspondence between software entities and >|> >some ``real world'' entities, .... >|> >|> Nor do I. The (apparently widespread) idea that such correspondence >|> is in some way significant to the basis of object-oriented <whatever> >|> is, IMO, a gross misconception. Object technology has a sound basis >|> without it, and in programming, one is rarely modelling the "real world" >|> directly (except in UI, when building upon spatio-temporal "real world" >|> metaphors to bridge the gap between the abstractions a program is >|> based on and the user, and even then, the models used are abstract). > >OTOH, it is interesting that it is in GUI/window development that >O-O methods have been *generally* regarded (even by skeptics) as most >successful. So, perhaps, there is some significance after all to such >correspondence. At least, if what you care about is actual productivity, I don't think that there is any Real-World Correspondence at work in the GUI arena. In real life, there are no widgets, events or callbacks. The reason OO works, perhaps, is that GUIs are constructed in ways that map easily into the OO paradigm. An element of asynchronous notification is dominant in any decent GUI programming interface. In a procedural language, it may be done using queues, callbacks and such. It maps naturally onto object message passing (which basically hides callback functions anyway in something like C++). The user can (or should be able to most of the time) interact with any element of the GUI rather than being forced to interact procedurally. The application can design objects that are triggered by the GUI, and even combine the interface and functional elements into one object. Since object instances have their own private data, it's easy to spin off multiple instances of the same widget without sharing state. Doing it in a language like C means moving all the static variables of the corresponding module into a dynamically allocated structure. (Big ordeal, huh?) >rather than an O-O religious experience. Now, in some applications, >the GUI is 99% of the app, but in others, I can assure you that it is >less than 1%. It may simply be the case that O-O methods are more >effective, pragmatically speaking, for the former case than for the >latter. Why insist on applying the same techniques to every problem? I would agree that the OO methods are effective, but they are probably overkill for GUI design. I suspect that OO is _easy_ to _apply_ in GUI development, because it is basically fluff work that can be done easily in just about _any_ design paradigm and language. You don't have to contemplate a complicated taxonomy or get into any deep OO hair pulling, so if you are using OO for GUI design, it must look like the greatest thing since sliced bread. -- I'm not really a jerk, but I play one on Usenet.
Technical Details
Message-ID:
<4l3fp3INNemp@keats.ugrad.cs.ubc.ca>Path:
arc1-ca.pugleaf.net!keats.ugrad.cs.ubc.ca!not-for-mailReferences:
<1995Jul3.034108.4193@rcmcon.com> <4kma54$11m@news4.digex.net> <goochb.334.0015B418@rwi.com> <4l3auv$jnt@onramp.arc.nasa.gov>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!keats.ugrad.cs.ubc.ca!not-for-mail From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku) Newsgroups: comp.lang.eiffel,comp.lang.c,comp.lang.c++,comp.object,comp.software-eng Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer Date: 17 Apr 1996 12:11:31 -0700 Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <4l3fp3INNemp@keats.ugrad.cs.ubc.ca> References: <1995Jul3.034108.4193@rcmcon.com> <4kma54$11m@news4.digex.net> <goochb.334.0015B418@rwi.com> <4l3auv$jnt@onramp.arc.nasa.gov> NNTP-Posting-Host: keats.ugrad.cs.ubc.ca