[Info-vax] DCL's flaws (both scripting and UI)
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Wed Jan 21 19:17:08 EST 2015
On 2015-01-22 00:06:27 +0000, David Froble said:
> Chris Scheers wrote:
>
>> That doesn't follow. One of the advantages of OO is that the
>> implementation is hidden.
>
> I cannot see that statement. Not having to know the implementation is
> Ok. But I see no advantage in not being allowed to know of the
> implementation. Doesn't make sense.
This makes a whole lot more sense when you've used OO for a while. It
really does make writing some programs easier, but it also involves
"letting go" of wanting to know certain lower-level details of the
design and execution of a program. Flow control is conceptually rather
different, too — you're traveling through the message-passing routines
within the operating system, rather than calling the code in the target
objects directly. OO can work well, as can having higher-level
abstractions such as having a dictionary. Sure, I can and have written
OO-like accessors and those data structures and accessors, but when
they're already part of a system and language environment, and already
debugged and tested and integrated, all the better....
>
>> And when problems are found, the implementation can be fixed without
>> breaking (hopefully) the higher level programs.
>
> Yes, this is very important, and one of the key issues in modular programming.
>
> Say you had a routine (Ok, object if you insist) to sort a list of
> strings. A problem in the routine should be able to be fixed without
> any change in functionality (other than now being correct) for the
> caller.
OO makes this sort of thing easier. Unfortunately and like most other
features that can make programming easier, OO also means you can scale
up your programs (further) until OO can't really help you anymore, and
then you're in a rather different world of hurt. This much like moving
from assembler to compilers allowed bigger and more complex programs,
and which eventually and inevitably led to bigger and more complex
problems. OO is handy for a number of applications. As are
dictionaries. Now there are certainly downsides to OO, such as garbage
collection or reference counting, or messages to null objects, and
there are various solutions to those. For BASIC, OO and GC are details
you generally won't see very much of and probably won't be familiar
with BASIC, beyond VMS trying to keep the heap reasonably
well-organized on your behalf.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list