[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