[Info-vax] Userland programming languages on VMS.

Bill Gunshannon bill.gunshannon at gmail.com
Wed Feb 2 16:34:55 EST 2022


On 2/2/22 14:30, Arne Vajhøj wrote:
> On 2/2/2022 1:41 PM, Simon Clubley wrote:
>> On 2022-02-01, Johnny Billquist <bqt at softjar.se> wrote:
>>> On 2022-02-01 19:28, Simon Clubley wrote:
>>>> On 2022-02-01, Dave Froble <davef at tsoft-inc.com> wrote:
>>>>> On 2/1/2022 9:01 AM, Simon Clubley wrote:
>>>>>> On 2022-01-31, Dave Froble <davef at tsoft-inc.com> wrote:
>>>>>>>
>>>>>>> Don't people ever wonder what DEC people were thinking when they 
>>>>>>> wrote VMS?
>>>>>>>
>>>>>>
>>>>>> Yes, I do. Then I remember it was written in the 1970s. :-) :-)
>>>>>
>>>>> What does that have to do with anything?
>>>>>
>>>>
>>>> What makes some things about VMS so limiting in the 21st century is
>>>> as a direct result of it being designed in the 1970s instead of it
>>>> being designed around more modern techniques and concepts.
>>>>
>>>> I believe I may have expressed some opinions in this area 
>>>> previously. :-)
>>>
>>> This kind of argument always have the same problem that Unix is even
>>> older. Does that mean Unix have an even larger problem?
>>>
>>> Or is this in fact not a factor in there?
>>>
>>
>> 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.  :-)

> 
> 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.

> 
> And null terminated strings are not harder to do in assembler
> than descriptor strings.

Null terminated strings are common in MACRO-11.

> 
>> They were a good 10 years earlier with these moves than when these ideas
>> started to become mainstream.
>>
>> DEC OTOH, took the traditional approach for the time and wrote their VMS
>> kernel in an assembly language that was directly tied to the architecture
> 
> I believe a good chunk of VMS was not written in Macro-32 but in Bliss.
> 
> In hindsight C would have been better than Bliss.
> 
> In hindsight more Bliss/C and less Macro-32 would have been good.
> 
> But 20/20 hindsight is easy.

Hindsight is always 20/20.

bill





More information about the Info-vax mailing list