| Deutsch English Français Italiano |
|
<vtc19j$2kqlj$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: bart <bc@freeuk.com>
Newsgroups: comp.lang.c
Subject: Re: do { quit; } else { }
Date: Fri, 11 Apr 2025 22:24:03 +0100
Organization: A noiseless patient Spider
Lines: 88
Message-ID: <vtc19j$2kqlj$1@dont-email.me>
References: <vspbjh$8dvd$1@dont-email.me> <8634enhcui.fsf@linuxsc.com>
<vsph6b$ce6m$5@dont-email.me> <86ldsdfocs.fsf@linuxsc.com>
<20250406161323.00005809@yahoo.com> <86ecy5fjin.fsf@linuxsc.com>
<20250406190321.000001dc@yahoo.com> <86plhodtsw.fsf@linuxsc.com>
<20250407210248.00006457@yahoo.com> <vt15lq$bjs0$3@dont-email.me>
<vt2lp6$1qtjd$1@dont-email.me> <vt31m5$2513i$1@dont-email.me>
<vt3d4g$2djqe$1@dont-email.me> <vt3iqh$2ka99$1@dont-email.me>
<vt5fed$ccri$1@dont-email.me> <vt5js2$g1t7$1@dont-email.me>
<20250409142303.00004645@yahoo.com> <87ikndqabc.fsf@nosuchdomain.example.com>
<20250410115501.000037a5@yahoo.com> <vt8ei8$2vn84$1@dont-email.me>
<20250410080629.532@kylheku.com> <vt94q5$3jjod$1@dont-email.me>
<vt9628$3hhr8$3@dont-email.me> <vtammh$174ev$1@dont-email.me>
<vtavn9$1dp7m$3@dont-email.me> <vtb8nv$1plb2$2@dont-email.me>
<vtba81$1qfbm$1@dont-email.me> <vtbc6o$1te2o$1@dont-email.me>
<vtbhjv$24api$1@dont-email.me> <vtbn2k$293r1$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 11 Apr 2025 23:24:03 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="dd2082d654358406b52b51744c06eb0c";
logging-data="2779827"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18QKxibY1PtQhhb8rzLEz7G"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:+sBopLctcsodKfg0RM/OCEVTl0Y=
Content-Language: en-GB
In-Reply-To: <vtbn2k$293r1$1@dont-email.me>
Bytes: 5596
On 11/04/2025 19:29, David Brown wrote:
> On 11/04/2025 18:56, bart wrote:
>> That's not right. You pasted part of 6.7p1. The full syntax for
>> declarations comprises all of 6.7.p1, plus 6.7.1p1, 6.7.2p1, 6.7.2p2
>> (constraints to do with the ordering of long, int etc), 6.7.2.1,
>> 6.7.2.2, 6.7.3, 6.7.6, 6.7.7, and 6.7.8.
>>
>
> It is the full syntax for declaration specifiers - the matter under
> discussion. I did not include initialisation, static assertions, the
> syntax for identifiers, or any number of different parts of the syntax
> of C.
So how much of:
long unsigned const long const const typedef int A;
does it cover? I can see that it doesn't cover any of the terminals (all
tokens up to 'A'); the identifier ('A'); or the semicolon.
I suggest there's more missing that you seem to think.
>> I could spend all day showing absurdity after absurdity in C. And
>> you're saying /my/ language is a toy?!
>
> Yes.
>
> It is a toy because it is a personal little language for your ego. There
> is no specification or description of it, there are no serious
> implementations of it, there are no users of it other than you, there is
> no consistency in it - you change your language and your tools to suit
> the program you are writing at the time, and regularly don't know
> yourself how it works or what features it has. It is in no sense
> "battle-tested" - the only user writes code that he knows will not cause
> trouble. Thus you avoid all the issues that real languages have to
> handle - real programs written by many different people for many
> different purposes.
Yes, it is partly experimental. But how does that invalidate the
usefulness of a particular feature?
How does that invalidate its sane left-to-right type syntax compared to
the nightware syntax that C uses?
Even an experimental language can throw up dozens of useful features and
improvements.
'Battle-testing' is more useful for getting solid implementations,
finding bugs, filling in patches in coverage. But I am not providing an
implementation, only ideas and comparisons of language features.
You were talking about named arguments, well here is how /my/ version
works (which i first tried 30 years ago); here is the benefit of my
experience; here is how I solved the same problems you might have.
My language has been in use for over 40 years, and it has been
self-hosted in a continuous chain over the same period. That's some toy.
It has also managed to evolve a lot more than C has, BECAUSE there are
few users and there is a small codebase.
> You are like an Esperanto fanatic trying to tell people their language
> is so much better than English because the spelling is consistent, so
> the world would be a better place if we all switched over. Except in
> your case, you are the only one who speaks the language.
(Huh. I grow up, in the UK, in a family and circle of relatives where we
spoke our own obscure dialect from a region of Italy. We seemed to get by.)
Computer languages are different: if you have a compiler for a private
language, then it can do anything. Plus it is possible to write
conversion programs to advantage of tooling available for the more
mainstream language.
> I have never heard of anyone other than you who views cdecl as a
> necessity. A tiny proportion of C programmers find it helpful when
> dealing with code written by others - especially if the code is written
> in a poor style and the reader is relatively new to C.
Rubbish. Everyone finds C declaration syntax a nightmare.