[Info-vax] Access to _all_ VMS system services and library functions from DCL ?

David Froble davef at tsoft-inc.com
Tue Jul 11 22:32:37 EDT 2017


Simon Clubley wrote:
> On 2017-07-11, Stephen Hoffman <seaohveh at hoffmanlabs.invalid> wrote:
>> On 2017-07-11 07:00:51 +0000, Simon Clubley said:
>>
>>> On 2017-07-10, David Froble <davef at tsoft-inc.com> wrote:
>>>> Well, not just for DCL.  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.
>>>>
>>> A single block of data which is directly accessed is too limiting and 
>>> will cause massive maintainence problems as structures are changed and 
>>> field sizes changed in the future.
>>>
>>> This will lead to a different version of the data block for every 
>>> change in the future and all these versions would have to be kept 
>>> around in the future as well as the code to populate them.
>>>
> 
> [snip]
> 
>>>> If I can "include" the data structure in my programs, and then 
>>>> reference the  data by name, sure would make things simpler.
>>> And what about when the data block is changed because a field is 
>>> expanded (for example) ?
>> If the block is opaque to the end user ? similar to how BASIC tends to 
>> treat descriptors, scaled up to cover the system service data returned 
>> by itemlists  ? it'll work very close to what David is considering.   
>> Add in the ability to delay accessing the underlying data until its 
>> requested by the user and the storage and performance details are far 
>> less egregious than fetching everything.
>>
> 
> Unfortunately, I got the distinct impression that David and others were
> looking for something similar to a giant struct to be returned without
> any layers of abstraction and for the variables within the struct to be
> directly accessible by the application.

Not sure what type of abstraction you might want here, but, yes, that's exactly 
what I'm suggesting.  A structure, with variable names for the fields int he 
structure, readable be the application.  It would be rather meaningless to write 
into the structure.

>> Yes, there's overhead on message-passing designs such as where David is 
>> headed here, but there's overhead in writing and processing itemlists 
>> too.   Trade-offs can change over time, and the holes in the existing 
>> OpenVMS design ? from back when memory was tight and processor 
>> performance was lacking ? are quite apparent.
>>
> 
> I've never seen David advocate for message-passing and OO designs before.
> David tends to advocate for a very different style of coding.

I've felt that things like OO are extensions of what many people have developed 
as just "good coding practice" through the years.  I really don't have much use 
for those who then take good ideas and go to what I consider extremes.

As an example.  A former co-worker, many years ago, embraced "structured 
programming".  Now such is usually good coding practices.  But the "purists" 
declared that a GoTo statement was not allowed.  That is an extreme.  This 
co-worker refused to use GoTo, even when directing execution to program exit. 
Instead, he used GoSub to that location, even though there would never be a return.

I embrace what I see as good practices.  I'm not sure what style of coding you 
think I embrace.



More information about the Info-vax mailing list