[Info-vax] Hard links on VMS ODS5 disks
Johnny Billquist
bqt at softjar.se
Mon Jul 17 10:32:29 EDT 2023
On 2023-07-17 15:29, Arne Vajhøj wrote:
> On 7/17/2023 6:45 AM, Johnny Billquist wrote:
>> On 2023-07-16 20:30, Arne Vajhøj wrote:
>>> On 7/16/2023 2:28 PM, Arne Vajhøj wrote:
>>>> The two cost are hardware and peoples time.
>>>>
>>>> With todays TB disks it is very unlikely that having two copies of some
>>>> executables will require buying bigger and more expensive disk(s).
>>>>
>>>> Having developer support the name test logic on multiple platforms
>>>> and having sys admins needing to worry about linked stuff
>>>> when they clean up is a very small effort but still an
>>>> effort greater than zero.
>>>
>>> And just to make sure we are talking about the same.
>>
>> [...]
>>
>> Yes. And my point is that this detail is there no matter what. So you
>> didn't "save" anything by having two binaries. Since it's actually
>> just one binary, and how it behaves is based on which name it was
>> invoked as.
>>
>> Yes, you *could* have different binaries, with the different
>> behaviors, and not have to deal with all this.
>>
>> But that was not what was going on here. The binary we are talking
>> about still have this logic you are hinting at. It's just that in
>> addition to that engineering work, which seems to be your concern, it
>> also uses up twice the space (or even more, depending on how many
>> copies of the program you happen to install).
>>
>> I feel like you didn't get the point that the decision on what the
>> program should do based on under what name it was invoked was not
>> absent with these multiple copies... It is still there, and still made
>> use of.
>
> Ah.
>
> You are saying that they ditched the linking but kept the code
> that made linking work.
*Yes*
That was the whole point. And it "works" for them even without the
hardlinks. It's just a question of the program inspecting what it was
invoked as.
Under Unix, every file is always a hardlink. It's just a question of if
you have just one, or multiple ones...
> As if in my example had done:
>
> $ cc ab
> $ link/exe=a ab
> $ link/exe=b ab
>
> That is silly in my opinion. They should have gotten rid of that code.
Agreed. And that is where they were being really silly, and I felt you
missed this.
And it could have been done even simpler:
$ cc ab
$ link/exe=a ab
$ copy a.exe b.exe
Which most probably is what was actually done... Instead of creating a
hard link for b.exe...
> Simple is good - complex is bad.
Always.
Johnny
More information about the Info-vax
mailing list