[Info-vax] System implementation languages, was: Re: RMS record metadata, was: Re: Re; Spiralog, RMS Journaling (was

Craig A. Berry craigberry at nospam.mac.com
Thu Jun 23 13:43:49 EDT 2016


On 6/23/16 11:26 AM, David Froble wrote:
> Simon Clubley wrote:
>> On 2016-06-22, David Froble <davef at tsoft-inc.com> wrote:
>>> Paul Sture wrote:
>>>> On 2016-06-22, Simon Clubley
>>>> <clubley at remove_me.eisner.decus.org-Earth.UFP> wrote:
>>>>> On 2016-06-21, David Froble <davef at tsoft-inc.com> wrote:
>>>>>> John Reagan wrote:
>>>>>>> RMS wins the trifecta of languages. You'll find Macro, BLISS, and C
>>>>>>> in the source directory.
>>>>>> WHAT !!!
>>>>>>
>>>>>> No Basic ???
>>>>> Sorry David, but Basic is not a system implementation/programming
>>>>> language. :-)
>>>>>
>>>> My memories of RSTS suggest that BASIC got used *everywhere*... :-)
>>>>
>>> Good one!
>>>
>>
>> Not really. :-)
>>
>> You can't use any version of Basic I've come across to write a kernel
>> mode device driver or the kernel itself.
>>
>>> Take that Simon, who just recently mentioned RSTS/E ....
>>>
>>> Ok, back to reality.  I do believe the RSTS/E OS was Macro-11
>>
>> True. Examples of what I consider to be a system implementation
>> language (SIL) are C, Ada and the odd version of Pascal (such as the
>> version used to write VAXELN).
>>
>> Examples of languages which are not SILs are Basic, COBOL and PHP.
>>
>> Simon.
>>
>> PS: If DEC had fixed up some issues with Pillar and implemented it,
>> that would have made a good SIL (better than C IMHO). Unfortunately,
>> DEC never followed through with Pillar.
>>
>
> Any language, if appropriate capabilities are implemented, can be so
> used.  I seem to recall that DEC's C needed some work before it could be
> used.  Put the same capabilities in Basic, and it would do just as
> well.  Well, maybe even better.
>
> It's all just 1's and 0's ....

You're missing quite a bit there. For one thing, with BASIC and most
(all?) other HLLs on VMS, you are making RTL calls without realizing it.
In other words, the compiler uses things like OTS$CVT_L_TB or
STR$GET1_DX and friends to implement language statements that are not
explicitly calling functions or subroutines. Unless all the RTLs
involved satisfy all the necessary requirements for reentrancy, thread
safety, atomicity, and probably other things I'm forgetting, then you
can't safely write inner mode code in such a language.

Could a BASIC be implemented that satisfied the requirements? Possibly,
but you might not want to use it. I don't know exactly what would go
missing, but as a hypothetical, say you had a BASIC that had no WHEN
ERROR clause, could not do dynamic strings, and had no language-level
support for I/O such that you had to use more primitive interfaces to do
all I/O. Would you still be advocating for such a language?






More information about the Info-vax mailing list