Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Muttley@DastardlyHQ.org Newsgroups: comp.lang.c Subject: Re: Loops (was Re: do { quit; } else { }) Date: Thu, 24 Apr 2025 07:40:52 -0000 (UTC) Organization: A noiseless patient Spider Lines: 25 Message-ID: References: <87ecxmv4t4.fsf@nosuchdomain.example.com> <20250420200823.908@kylheku.com> <20250421113640.839@kylheku.com> <20250421125957.29@kylheku.com> <20250422103555.547@kylheku.com> <20250423113224.711@kylheku.com> Injection-Date: Thu, 24 Apr 2025 09:40:52 +0200 (CEST) Injection-Info: dont-email.me; posting-host="6167e183375104e77708d5147af909da"; logging-data="1180945"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/eCjwAne7cD2Tf2Vs1kbGz" Cancel-Lock: sha1:5vJ6jjkpfBkOkRIrOUpDhMP5eHc= Bytes: 2466 On Wed, 23 Apr 2025 18:43:33 -0000 (UTC) Kaz Kylheku <643-408-1753@kylheku.com> wibbled: >On 2025-04-23, bart wrote: >> On 23/04/2025 16:31, David Brown wrote: >>> On 22/04/2025 22:03, bart wrote: >> >>> Too few levels of functions and/or macros (there is no semantic >>> difference between macros and functions in this matter) >> >> There is a great deal of difference. Functions tend to be well-formed in >> their inputs and outputs. >> >> Macros take some abitrary blocks of syntax and return another arbitrary >> block of syntax: >> >> #define INDEX(a, b, y) a y b >> INDEX(a, i, [) ]; > >While that's terrible, I've never seen anything like it in the wild. He loves coming up with unrealistic code examples that no decent programmer would ever write then points and says look how bad macros must be. Using that approach you can easily come up with highly contorted code that no one can read as the Obfuscated C contest proves.