On 2025-04-22, bart <
bc@freeuk.com> wrote:
On 22/04/2025 04:31, Kaz Kylheku wrote:
The time to lobby for them was 30-40 years ago, and in the right way.
>
I'm pretty sure I started complaining here 20 years ago! Perhaps more.
That's not the "right way" though; that has no hope of producing
results.
Your own stuff is not standardized; presumably you worked on
it because you find it useful.
>
It is standardised in that no basic language feature, no standard
library function, needs some declaration to be used.
I like that. I would never design a language like Python where you need
to "import" stuff that is already built in.
That is not a language.
Before speaking to you, I don't need to say, "from English import
articles; from articles import the, a".
I hope you are remembering all the times I agree with you.
(I don't agree with your definition of "standardized"; that refers
to being documented, in detail, so that multiple implementations
are encouraged to interoperate (exchange source code)).
proc main =
puts("hello"
end
>
In C that would need '#include <stdio>'. Here, 'puts' is defined in a
file which is part of my standard library which is automatically
included by default.
In a Lisp system, all standard functions, variables, macros and
everything else are present in the image and can just be used.
Not only you, but countless term projects in undergraduate compiler
class. So what?
>
Well, exactly. So how come we ended up with C as the world's primary
systems language? Why hasn't C long acquired such useful core features?
The most actively developed dialect of C is C++.
C is kind of a still backwaters in comparison.
C++ has acquired all sorts of features and continues to do so.
Including in the area of iteration.
This is valid C++, as of C++11, which was 14 years ago:
int a[] = {0, 1, 2, 3, 4, 5};
for (int n : a) {
// ...
}
C tends not to take on this kind of stuff.
But remembrer, you don't like C++ because it's big and full of cruft
that would take you years to understand, not to mention me.
_ You don't like gatekeeping against features, like in the case of C
standardization.
- You don't like more open gate, like C++, which leads to a Borg-like
assimilation of cruft over years and decades.
You want the gate to be open only for you, where you get to decide on
some dozen features (or what have you) which are then frozen, so that
nobody else gets to add anything that you would have to learn.
It's as if you should be developing your own language and not bothering
wth any other, and perhaps using C as a code generation back end,
whereby you are grateful that at least it's not such a moving target, in
spite of its warts.
I'm the same way! I'm against the floodgates being open, yet I don't
absolutely zero progress either, like Common Lisp (ratified by ANSI
in 1994, and nothing since then). Make your own Lisp; then you can
experiment, without other cooks spoiling the sauce.
-- TXR Programming Language: http://nongnu.org/txrCygnal: Cygwin Native Application Library: http://kylheku.com/cygnalMastodon: @Kazinator@mstdn.ca