[Info-vax] Access to _all_ VMS system services and library functions from DCL ?
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Tue Jul 11 10:29:45 EDT 2017
On 2017-07-11 02:06:21 +0000, David Froble said:
> Stephen Hoffman wrote:
>> On 2017-07-10 19:46:19 +0000, David Froble said:
>>
>>> Have defined blocks of data for each system service. Either I allocate
>>> the memory, (probably best) or have the system service allocate the
>>> memory. Then jam it full of all data provided by that system service.
>>> Sure would do away with item lists, at least to some extent.
>>>
>>> If I can "include" the data structure in my programs, and then
>>> reference the data by name, sure would make things simpler.
>>
>> You're so very close to object-oriented programming here. Abstract the
>> data a little further, and abstract the APIs while you're working at
>> it, and you'd be there...
>>
>
> I don't know how to "abstract" ...
>
> :-)
>
> Now, perhaps someone will ask, "won't doing all the data be overhead?"
>
> I don't think so. Now the system service must decode the item list,
> make decisions, and such. To load a data structure, it's most likely
> sequential code, one pass, and done.
>
> But what do I know?
>
> Not how to "abstract" ???
Yes, you do understand.... It's an extension to what you're already
familiar with...
BASIC abstracted much of what was required with programming assembler.
RMS abstracted much of what was involved with data storage.
Descriptors abstracted much of dealing with ASCII/MCS string storage.
Etc.
OO makes what you're referencing here easier to code and easier to
update, and it means that operations can be delayed until necessary.
It gets us out of dealing with a whole lot of the source code that many
of us are so used to writing and pasting that it's become expected and
invisible.
As for DCL, I don't see that ever dealing (well) with OO (nor layering
in the hacks necessary to keep existing code working), nor do I see a
whole lot of use doing that with (to?) DCL.
BASIC and C and other traditional languages certainly could be stretched.
Look around at how much of the local source code is specific to dealing
with itemlists and the rest of that chunder involved in system service
and RTL calls, and ponder what your code would look like with nearly
all of that code removed.
And OO doesn't need to have all the data stored in the object at once
nor to even retrieve it all and incur the storage and processing
overhead, that can happen at run-time when the specific data in the
object is requested.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list