[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