[Info-vax] 8-bit characters

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Fri Nov 12 18:59:07 EST 2021


On 2021-11-12 18:45:57 +0000, Robert A. Brooks said:

> On 11/12/2021 1:28 PM, Simon Clubley wrote:
>> On 2021-11-11, Robert A. Brooks <FIRST.LAST at vmssoftware.com> wrote:
>>> On 11/11/2021 4:01 PM, Arne Vajhøj wrote:
>>>> On 11/11/2021 3:57 PM, Michael Moroney wrote:
>>> 
>>>>> You remember correctly. The hardwired '24 line terminal' assumption pissed me
>>>>> off and a few times I looked at it I said no way I can fix that spaghetti
>>>>> code. But one day the planets were aligned or something, and I just did it.
>>>> 
>>>> Macro-32 ?
>>> 
>>> BLISS-32
>>> 
>> 
>> Same difference. :-)
> 
> No, it's not.  While it's true that one can write bad code in any 
> language, BLISS, due its procedural nature, does not default to 
> spaghetti code.

Alas, I've looked at a whole lot of Bliss spaghetti code over the 
years. More than I'd prefer, though less than the amount of Macro32 
spaghetti.

In the past decades, Bliss and Macro32 both effectively became DSLs for 
OpenVMS, for better or worse.

The Bliss compiler itself and the Bliss language could use an overhaul 
with better diagnostics, with code-refactoring support, with IDE 
support, and with other enhancements. But Bliss enhancement work is not 
likely a priority for anybody.

Automatic source code refactoring has gotten substantially better too, 
for those that haven't worked with it. Between that and source code 
formatting tools, more than a little source code spaghetti can be 
remediated.

> While the EDT code can be confusing (due to lack of comments), the code 
> flow isn't that bad.

Most of the Bliss code written by OpenVMS development was fairly well 
done. The Bliss and Macro32 code with variant calling schemes was 
always good for some puzzlement, though.

> What can be confusing in BLISS is the use of nested macros, where a 
> single BLISS "statement" can expand into several pages of code.

Some examples of Bliss macros were near-impenetrable, and most easily 
read with the assistance of the Bliss compiler listings macro 
expansion.  Macro32 macro support suffered somewhat similarly. C's 
macro preprocessor is comparatively simplistic. Not that I haven't used 
the C macro preprocessor on Fortran and BASIC code. In some ways. Bliss 
macros remind me of C++ macros and C++ operator overloading support.

I've been coming around toward how Zig, Swift, and other programming 
languages are designed; with the abstractions in the language and the 
compiler and the run-time, and without executable code embedded within 
macros.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list