[Info-vax] OO (was: Re: DCL's flaws ...

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Jan 21 19:28:25 EST 2015


On 2015-01-22 00:08:50 +0000, David Froble said:

> When does a module of code that performs a task stop being a module and 
> becomes an object?

If you haven't spent some time with OO programming, this reply probably 
won't make all that much sense.  But in VMS-ish terms, an "object" is 
probably most similar to a shareable image, in that it's relatively 
isolated from other hunks of code in the application, and with 
published interfaces for the associated code and the data.  The 
shareable image vectors, however, are resolved at run-time, which means 
that the programmer can add or remove vectors easily, and can also 
override the behavior of an existing object — these overrides are akin 
to easily patching in a second shareable image that can then override 
some aspects and can do things differently than the first shareable 
image, but while still using most of the code from the first shareable 
image.  On the fly.  You can also get callouts, where — when something 
happens to the data, for instance — you can get notified of the change, 
and can then go do something.  Without changing the code in the other 
object.    Like shareable images, when you run an OO application, the 
run-time takes care of merging all the pieces together, and applying 
the overrides and performing the call-outs as needed.  Again, this is a 
whole lot easier if you've used some OO tools.  OO can be brain-melting 
when first coming over from traditional C, Fortran or BASIC code...  
But OO is — much like how compilers provided an abstraction over what 
assembler code provided — a useful abstraction for some applications.


-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list