Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: bart 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: References: <8634enhcui.fsf@linuxsc.com> <86ldsdfocs.fsf@linuxsc.com> <20250406161323.00005809@yahoo.com> <86ecy5fjin.fsf@linuxsc.com> <20250406190321.000001dc@yahoo.com> <86plhodtsw.fsf@linuxsc.com> <20250407210248.00006457@yahoo.com> <20250409142303.00004645@yahoo.com> <87ikndqabc.fsf@nosuchdomain.example.com> <20250410115501.000037a5@yahoo.com> <20250410080629.532@kylheku.com> 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: 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.