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