BartC seems to be here to discuss the features of some other language than
which he is working on, with the evident side goal of avoiding learning C
much as possible while proposing improvements to it.
No concrete, complete spec of the other language is ever given, so it is
impossible to discuss properly; this aspect keeps the discussions
quasi-topical, allowing the focus to stay on BartC's years-long learning
disability with regard to C.
BartC is somewhat like a higher-level Bill Cunningham.
(And note how the initials of both characters are B.C.!)
That's very interesting.
There are strong parallels in the trolling theme: a person who is toying
some projects that don't seem to advance from year to year (as far as we
glean their status from the fleeting descriptions), and who exhibits
anterograde amnesia with regard to absorbing new material from other
I wrote my first compiler (a very simple one for a machine-oriented language
for the PDP10) in 1980 while a student.
I've been designing my own languages and creating my own compilers, all from
scratch, since 1981.
Those early static languages had paralleled much of C, and were for the same
sorts of purposes, but used entirely different syntax. I switched to using
C's runtime since around 1997 I think.
I've been dependent on an actual C compiler since 2012, in a project which
was a thin syntax wrapper around C. A new project completed earlier this
year which was an independent language, but targets high-level C code. (I am
upgrading that again so that it generates native code directly, because C is
giving me too many headaches.)
So as a designer of a set of languages with similar aims to C, and as a
compiler writer, and also now as user of the language (for a brief period
when I had to write it, and now when I have to generate it), I think I am
entitled to my opinions, and also that I qualified to some extent in giving
I do find some of C's decisions exasperating (it's type syntax, the lack of
a named constant feature (one of the simplest you could think of!), its
idiosyncratic for-statement etc etc), because I know how easy it would have
been to implement them properly.
As for my projects: I have two language projects: "X" (not its real name), a
dynamic language, with a compiler written in X. It has an interpreter "I"
now written in Y, a static language. Y's compiler is written in X, the
output at present is raw C. It has some help (with interfacing) from a
hybrid language B (its real name), which is a wrapper around C, and whose
output is also raw C.
Confused? You should be! Anyway these languages and compiler projects really
exist, and they work.
Why do I still post in comp.lang.c? I think that as a C 'outsider' I can
offer a somewhat different, perhaps irreverent point of view compared with
the the usual guys. Look at my first post in this thread, and tell me how
much of that was about my own stuff.