C might be close to the machine on a OPDP-11, but it's certainly not close to 
the machine on, e.g., VAX, Z. Theree are things that take one line of assembler 
but many lines of code on C. It is one of my least favorite languages.

OTOH, even though I hate, loathe and despise C, I found myself defending C when 
someone complained about for (;;), which I thought was perfectly clear.

De gustibus non disputandum est.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on behalf 
of Rick Troth [[email protected]]
Sent: Tuesday, July 18, 2023 3:30 PM
To: [email protected]
Subject: looking for limbo languages - how low can you go?

Or maybe "limber" instead of "limbo", meaning flexible. But puns and
analogies always break down in the end. I have come to accept that.

Started this before I left town for a few days.
It's initially knee-jerk, but seemed worth saying.

I do love HLASM, and I miss it in my current role.
What's so great about it? Well, like with any assembler, you get full
control of the machine (within constraints: privileged mode or not,
stuff like that).
I've known other assemblers (I mean for other architectures) and enjoyed
them. But none were as robust. That's partly because of the assemblers
themselves, but also because of the architectures. Z is Z.

I love C (and I don't miss it: it's everywhere).
But then, I refuse to step into "obfuscations" and other trickery that
some C coders love to dabble in. You know, keep it simple!
What I like about C is that it gets me as close as possible to the
machine and yet remain highly portable. You say C code is not portable?
Au contraire! I can demonstrate that it is (or that it "can be").
Other assemblers are not as much fun as HLASM. I can avoid them when I
use C.

Don't get me started about C++.
Some love it, but it's a different language. If you really want C++
maybe consider Java.

This is what tripped me up:

 > Beyond all the fighting here, just be glad the assembler macro
language is so powerful.
 > Every time I have to do something in C that call out for a macro, I'm
appalled at how pathetic that language is!

I've spoken with PHSiii about his post, and he was talking more about
the C pre-processor (where I mostly concur, it's kinda sucky) than about
C the language.
But there are plenty people who truly dislike C from all sides. I've
become sensitive after reading a lot of C bashing (not on this list, but
in other fora).

Critique of the language, and especially of what some call "macros", I
willingly accept.
It's that P-word adjective that really bites. (pathetic)
Where else can I find anything as close to the hardware and yet not
directly ISA-bound? That's anything but pathetic.

*instruction-set architecture

Indeed, HLSAM has a powerful macro feature.
By comparison, C has a "pre-processor". I use it for a handful of
symbolic constants. Beyond that, it uglifies my code, so I avoid it.

There's no accounting for taste, but C is a very good language,
especially for HLASM fans.
If one just doesn't like the language, that's a matter of taste. I hope
that we all can steer clear of languages we dislike.
Seriously, if you just don't like C then I hope you never have to use
it. But let's not engage in language flame wars.
I'd like to think that I'm somewhat broad minded: I hate Java, but not
the language, rather the requirement for the JVM and the ecosystem which
has grown up around it.

*Java was a language looking for a purpose, then found popularity when
the web was young

It's possible to write ugly pathetically byzantine unmaintainable code
in C.
It's possible to write ugly pathetically byzantine unmaintainable code
in HLASM.

C takes a lot of flack these days, as people are (or claim to be) very
concerned about security (while protecting the WRONG THINGS, but I
digress).
Buffer overruns and other such things lead the charge as they look for
"safe" languages. Something about guns and feet might fit here, or the
Kilpatrick to Alexander spoof from the movie Airplane. (James Kilpatrick
played by William Tregoe with Shana Alexander off-screen. You know the
one!) "They bought their compilers. They knew what they were getting into!"

Ironic that none of these C haters (in the field, not on this list)
throw a single dart at assembler. Why is that?

The up-and-coming "safe" language intended for "systems" is Rust.
Who thought up that name? What did they want to convey? Maybe they think
"systems" level coding is old and weathered and ... er, uh ... rusty?
But I am trying to have Rust (compiler) in my doctor's bag-o-tricks.
It's almost as difficult to build as LLVM and 'clang'.
Rust enjoys growing popularity because it is touted as a "systems"
language without the risks of C (like for stepping on your own memory,
y'all have heard the stories).
That takes me back to the reason I *like* C: it lets me do much of what
I can do in assembler (stepping on my own memory) but somewhat portably.

Question: if Rust is "safe" will it actually let me flip bits with the
same precision as C?

https://www.youtube.com/watch?v=uhU7Fgw5PmI


-- R; <><

Reply via email to