Deutsch   English   Français   Italiano  
<298685215.749331712.972263.peter_flass-yahoo.com@news.eternal-september.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Peter Flass <peter_flass@yahoo.com>
Newsgroups: alt.folklore.computers,comp.os.linux.misc
Subject: Re: The joy of VAX C
Date: Sun, 29 Sep 2024 13:15:00 -0700
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <298685215.749331712.972263.peter_flass-yahoo.com@news.eternal-september.org>
References: <pan$96411$d204da43$cc34bb91$1fe98651@linux.rocks>
 <5mqdnZuGq4lgwm_7nZ2dnZfqnPSdnZ2d@earthlink.com>
 <vcub5c$36h63$1@dont-email.me>
 <1r0e6u9.1tubjrt1kapeluN%snipeco.2@gmail.com>
 <vcuib9$37rge$5@dont-email.me>
 <vcvuhh$3hroa$2@dont-email.me>
 <llhieuF8ej2U2@mid.individual.net>
 <vd0uch$3lgc3$9@dont-email.me>
 <pDVIO.50851$2nv5.43199@fx39.iad>
 <vd3398$3j9t$1@dont-email.me>
 <vd3btv$503b$1@dont-email.me>
 <vd3e81$4fda$2@dont-email.me>
 <vd4h25$c3jf$6@dont-email.me>
 <vd5055$e8c6$1@dont-email.me>
 <vd9lc0$1ceg1$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 29 Sep 2024 22:15:01 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="261d6c3fdcc4d46236164f6ffe3d8eb0";
	logging-data="1978172"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+0IK5G33KQd3izbmWSTUz+"
User-Agent: NewsTap/5.3.1 (iPad)
Cancel-Lock: sha1:hvKageS/ohF4OmoxZX9HlHOtw0s=
	sha1:egiGcyqLTMt1UezKCQK7TY5GBJ0=
Bytes: 3385

Lars Poulsen <lars@beagle-ears.com> wrote:
> 
> 
> On 26/09/2024 18:01, Lars Poulsen wrote:
>> On 26/09/2024 13:43, Lawrence D'Oliveiro wrote:
>>> On Thu, 26 Sep 2024 11:49:37 +0100, Pancho wrote:
>>> 
>>>> On 9/26/24 11:10, Lawrence D'Oliveiro wrote:
>>>>> 
>>>>> On Thu, 26 Sep 2024 08:42:32 +0100, Pancho wrote:
>>>>> 
>>>>>> ... a bitch to work out how to call Vax C from Vax Pascal, or vice
>>>>>> versa.
>>>>> 
>>>>> Why would it be that hard? VAX C passed everything by value, while
>>>>> Pascal let you specify descriptors, references, immediate value ... all
>>>>> the options.
>>>> 
>>>> There ware decisions to be made, like what order do you push variables
>>>> onto the stack, when do you push the return address, how to interpret a
>>>> Pascal String in C.
>>> 
>>> All these things were standardized in the VAX/VMS ABI, right from the
>>> beginning.
>> 
>> IIRC, VAX C did not completely follow the standard calling conventions, 
>> which created some issues in mixed-language applications.
> 
> In retrospect, I think the problems in mixing C with other languages 
> came down to this:
> 
> For a C routine to be callable from another language, I suspect that the 
> C routine would have to declare each and every argument as a descriptor 
> structure, the use the descriptor to find the data.
> And for a C routine to call a subroutine in another language, it would 
> have to build a descriptor structure for that argument.
> 
> More trouble than anyone would want if they were used to C on any other 
> platform. Was that the right or the wrong choice?
> An extension with a keyword like "descriptor" attached to a procedure 
> prototype could have made that much easier to work with!
> 

IBM PL/I has that now. You can declare arguments descriptor/nodescriptor
and byaddr/byvalue.

 -- 
Pete