[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