Deutsch   English   Français   Italiano  
<vtbn2k$293r1$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: David Brown <david.brown@hesbynett.no>
Newsgroups: comp.lang.c
Subject: Re: do { quit; } else { }
Date: Fri, 11 Apr 2025 20:29:40 +0200
Organization: A noiseless patient Spider
Lines: 99
Message-ID: <vtbn2k$293r1$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>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 11 Apr 2025 20:29:42 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="b9a1ee4603d3a71ae272d64113f8149b";
	logging-data="2396001"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19MpA0GGd71uuZ38jBSFFiFKtiuJSf6ieM="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:wg2L7kd5DPIc8KuCuKTQNbQyxuo=
In-Reply-To: <vtbhjv$24api$1@dont-email.me>
Content-Language: en-GB
Bytes: 6054

On 11/04/2025 18:56, bart wrote:
> On 11/04/2025 16:24, David Brown wrote:
>> On 11/04/2025 16:50, bart wrote:
> 
>>>> declaration-specifiers:
>>>>      storage-class-specifier declaration-specifiers opt
>>>>      type-specifier declaration-specifiers opt
>>>>      type-qualifier declaration-specifiers opt
>>>>      function-specifier declaration-specifiers opt
>>>>      alignment-specifier declaration-specifiers opt
>>>
>>> That always reads to me like 'lots of twisty windy passages, all alike'.
>>
>> Try reading it without your usual anti-C prejudice.  Perhaps read the 
>> whole section of the standard.
>>
>>>
>>>> If the order were to be strictly specified, there would need to be a 
>>>> half-dozen more named and defined specifier lists in the syntax.
>>>
>>> This is the similar feature for my syntax, a bit of BNF:
>>>
>>>    typedef = [scopeattr] 'type' name = typespec
>>>
>>> It does a bit more than C's 'typedef' in that such names can be 
>>> exported, to render them visible to modules that import this one.
>>>
>>
>> The C syntax for declarations here is for /all/ declarations in C.  
>> It's not just for typedefs in a simple little toy language. 
> 
> 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.

> 
> (And yes, if you
>> are going to make absurd claims about your language in comparison to 
>> C, you can expect to hear that it is a toy in comparison C.)
> 
> Really? Please show /any/ declaration in C that I can't write in mine, 
> but in a saner and less convoluted manner. Please define /any/ data 
> structure that I can't express.
> 

I have no idea about your language, nor do I care.

> 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.

The fact that you have made a living using your language(s) does not 
mean they are not toys.

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.

> 
>>> That it makes it easier to parse?
>>>
>>
>> Who cares?  That's irrelevant to the language design, except for toys 
>> where the only user is the person who writes the tools.
> 
> Humans have to parse it too. C must be the only non-esoteric language 
> where you need to use third-party tools (CDECL etc) to make sense of 
> type-declarations. Either that or follow complex spirular algorithms to 
> decade them.
> 

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.


If you want to learn more about C, ask about it here - if you want to 
promote your own language, perhaps comp.lang.misc is a better place.