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.