[Info-vax] Userland programming languages on VMS.

Johnny Billquist bqt at softjar.se
Mon Feb 7 02:58:57 EST 2022


On 2022-02-02 22:34, Bill Gunshannon wrote:
> On 2/2/22 14:30, Arne Vajhøj wrote:
>> On 2/2/2022 1:41 PM, Simon Clubley wrote:
>>> No. It means that the Unix creators were _very_ insightful and _very_
>>> forward looking in the early 1970s when they rewrote Unix, including
>>> the kernel, in a mostly portable language that mostly decoupled the
>>> implementation from the architecture it ran on, while most other people
>>> still wrote their kernels, and maybe good portions of their userland
>>> as well, in assembly language.
>>
>> The idea of an OS mostly written in a HLL is not invented by Unix.
> 
> Primos which predates VMS was written mostly in HLLs. Some pretty
> obscure ones, but HLLs just the same.  :-)

I think we just established that Unix also predates VMS, and is written 
in HLLs.

But yes, Unix was also not first at doing that.

>> But I agree that they made the right decision.
>>
>>> They were also very insightful in that the minimum application 
>>> programming
>>> language they supported was also C. These factors laid the groundwork
>>> for the future use of Unix across a large range of architectures and
>>> was directly responsible for its rise to the position it gained.
>>
>> I believe that assembler has always been supported on Unix.
>>
>> With the traditional Unix C tool chain of compiler driver calling
>> preprocessor, actual compiler, assembler and loader then it  is
>> not even possible to compile on a system without the assembler.
> 
> I don;t think he was saying they had no assembler, they certainly did
> and it got used.  I have used it myself.  And looking at assembler
> output from the compiler is often a big help when trying to locate
> and fix bugs.  He just meant that the OS is not written in assembler.
> I would have to go back an look but I am pretty sure even after the
> advent of the C based Unix there were still pieces in assembler for
> quite some time.  I do not believe any of the current BSD's still
> have any except maybe 2.11 on the PDP-11.

They do. There are simply some things that you can't do in C, no matter 
how low level you think it is. So sometimes, assembler is still required.

>> And null terminated strings are not harder to do in assembler
>> than descriptor strings.
> 
> Null terminated strings are common in MACRO-11.

That statement is slightly misleading. MACRO-11 provides the .ASCIZ 
directive to create NUL-terminated strings. Beyond that, there is 
nothing NUL-terminated in MACRO-11. Depending on what OS you are using, 
you might find more uses of NUL-terminated strings, but that have 
nothing to do with MACRO-11 itself.

I do believe that RT-11 is pretty fond of NUL-terminated strings, for 
example. But RSX is not. Pretty much everything have length parameters, 
with the exception of some user land libraries that might use 
NUL-terminated strings.

   Johnny



More information about the Info-vax mailing list