[Info-vax] C99 updates to CRTL

Jan-Erik Söderholm jan-erik.soderholm at telia.com
Tue Jul 30 13:27:16 EDT 2019


Den 2019-07-30 kl. 17:12, skrev Dave Froble:
> On 7/30/2019 9:58 AM, Stephen Hoffman wrote:
>> On 2019-07-29 17:50:54 +0000, John Reagan said:
>>
>>> On Monday, July 29, 2019 at 12:21:28 PM UTC-4, Stephen Hoffman wrote:
>>>> On 2019-07-27 20:45:09 +0000, Simon Clubley said:
>>>>
>>>>> Arne, are you _trying_ to trigger Stephen ? :-)
>>>>>
>>>>> It's bad enough using logicals to alter behaviour at runtime, but at
>>>>> compile time as well ? :-)
>>>>
>>>> There's already at least one logical name around that effects the
>>>> compile-time behavior.
>>>>
>>>> One existing logical name effects the compile-time resolution of the
>>>> external references within the compiler.
>>>
>>> Do you have a reference?
>>
>> The DEC/Compaq/HP/HPE/VSI C compiler opens up the C RTL and searches it
>> for a list of entry points, and that processing can be redirected by
>> logical name.  I don't recall off-hand if it was the DECC$SHR logical
>> name, or if some other was used.
>>
>> I've had a few occasions to do this redirection, but not in recent
>> times. This redirection is most common when working cross-version,
>> something which is somewhat unsupported.
>>
>> It wouldn't surprise me that there are other logical names latent and
>> lurking in the compilation process.
>>
>> App management and configuration with logical names—other than for
>> device redirection, and that usage is only marginally better than app
>> config data—is among the more fetid coding practices and endemic on
>> OpenVMS.
>>
>> Logical names as configuration data storage?  Hacks all the way down.
>> Isolation by convention. Parsing by assumption.  Architecture by
>> accretion. Documentation by omission.
>>
>> But I'm feeling polite today.  And yes, I have used logical names for
>> configuration data. Having encountered better configuration data storage
>> schemes else-platform, now usually whilst holding my nose, too.
>>
>>
> 
> The "logical name" rant is usually interesting.  But, this time, I wondered 
> just how "guilty" I've been.  So I took a look.
> 
> I use logical names to refer to mailbox names, which gives me a defined 
> name for something that will usually (always) have a unique name each time 
> the mailbox is set up.
> 
> I use logical names to refer to devices, such as disk drives, the printer 
> LTA port, MODEM_PORT (old cruft no longer used), and such.
> 

All those are perfectly valid uses of logical names. And one of the nice
featurs as I see it, is that the applications doesn't have to "look up"
the logical names, it just uses them, sicne the lookup is buiilt in in
VMS runtime environment. If you have a configuration storage, such as
some table in our database, you can just as well put "MBA1234:" there
or (better) use a logical name. It doesn't matter for the application
it can open both without having to lookup the logical name value first.

I do not know of any better way to handle that, and the integrated logical
name lookup that VMS offers beats anything else I have seen.

Maybe just ignore the local name rants some enjoys to spread around?


> There is a few telling the linker where to look for object libraries, RTLs, 
> and a few telling the compiler where to look for object libraries.
> 
> And a few more.
> 
> Now we all know Dave doesn't get out much, but even so, I feel the logical 
> name capability is a good match for the above uses.  Not sure what else 
> would be better.
> 
> As for configuration data and such, I've never considered using logical 
> names for such, and probably would disapprove when I do see such.
> 
> Names such as TCPIP* and UCX* are outside my control.  Guess I'm rather 
> neutral about such.  But there are lots of them.  Same with logical names 
> starting with things such as SYS*.
> 




More information about the Info-vax mailing list