I know this is old news, but it's new to me...
C's declaration semantics are suboptimal.
Like in complex declarations the name of the thing is
embedded in the declaration.
My mind cannot easily parse that.
I think
#golang is better specifically.
(I know go is a high level language.)
And both
#hare and
#zig I think have also specifically
fixed this.
But it is what it is. There is too much C code to walk away
from it. I always imagine monks in monasteries looking
over old written works. Like they ostensibly don't expect
the "syntax" to be better. That's why they are there.
This is also why I think the C replacement has to be a process
or a relationship with C. The young me wants to break with
the past and use some 100% ideal language. The now me
knows that the current existing code is more important
than some ideal.
(The point being I prefer a progression that is less ideal
but highly interoperable.)
In the next century following THEN the next language
can be closer to an ideal. rinse and repeat. for ages and ages.
No language is a point in time in isolation.
(I mean I also believe that philosophically, things don't bottom
out as discrete entities, but as relations. You can't go lower than
relations. You can look at things in isolation, but you are
really looking at a relation and ignoring one of the parts.)
#c #philosophy