[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