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.