Deutsch   English   Français   Italiano  
<vtnfq1$1gobs$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: Janis Papanagnou <janis_papanagnou+ng@hotmail.com>
Newsgroups: comp.lang.c
Subject: Re: Loops (was Re: do { quit; } else { })
Date: Wed, 16 Apr 2025 07:39:11 +0200
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <vtnfq1$1gobs$1@dont-email.me>
References: <vtbc6o$1te2o$1@dont-email.me> <vtbhjv$24api$1@dont-email.me>
 <vtbn2k$293r1$1@dont-email.me> <vtc19j$2kqlj$1@dont-email.me>
 <87a58mqt2o.fsf@nosuchdomain.example.com> <vtc7mp$2q5hr$1@dont-email.me>
 <vtcqf6$3j95s$1@dont-email.me> <vtdh4q$b3kt$1@dont-email.me>
 <vtf7fe$1qtpg$1@dont-email.me> <vtgfuf$31ug1$1@dont-email.me>
 <20250413072027.219@kylheku.com> <vtgpce$39229$1@dont-email.me>
 <vti2ki$g23v$1@dont-email.me> <vtin99$vu24$1@dont-email.me>
 <vtiuf0$18au8$1@dont-email.me> <ilprvj5jbpcbr7fts2kdotfb81763u652g@4ax.com>
 <vtlbja$3f46a$1@dont-email.me> <20250415152550.00007634@yahoo.com>
 <vtll0g$3n29t$1@dont-email.me> <20250415062839.904@kylheku.com>
 <vtlqis$3tc1l$2@dont-email.me> <vtm143$3ecf$1@dont-email.me>
 <vtm29g$42jp$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 16 Apr 2025 07:39:13 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="160f56e493b5cf0688ee2e3e4575656f";
	logging-data="1597820"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+KDR5D9/dnYaafKSOukLqY"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.8.0
Cancel-Lock: sha1:aykd1Tb6tKwOfRG3AQdM0dQA4UA=
In-Reply-To: <vtm29g$42jp$2@dont-email.me>
X-Enigmail-Draft-Status: N1110
Bytes: 4327

On 15.04.2025 18:42, bart wrote:
> On 15/04/2025 17:22, Janis Papanagnou wrote:
>> On 15.04.2025 16:30, bart wrote:
>>> On 15/04/2025 14:33, Kaz Kylheku wrote:
>>>> On 2025-04-15, bart <bc@freeuk.com> wrote:
>>>>>     * Not having to write the variable 3 times (with C not always
>>>>> being
>>>>>       able to detect if they didn't match)
>>>>
>>>> This is indeed a source of errors in C nested loops.
>>>
>>> According to Janis Papanagnou, it is 100% the programmer's fault. There
>>> is nothing wrong with the language!
>>
>> No, there is nothing wrong with the language if you make such errors.
>>
>> The programmer selects (or constructs) the algorithm, the language has
>> clear semantics for such simple loop constructs without any irregular
>> or hidden semantics, and the programmer's task is to know the elements
>> of the language and transfer the algorithm to a correct coding. - It's
>> self-delusion if you try to blame the language for the mistakes you do.
> 
> Suppose you have two ways A and B to implement a feature in a language.
> 
> You find that those using A tend to make twice as many mistakes in that
> feature, and have more undetectable bugs, as those who use B.
> 
> Your job is to choose which of A and B to keep.
> 
> Would your decision completely ignore such findings?

We have a couple decisions to make, some factors are often predefined.
The necessary and possible decisions are made on different levels
depending on the role you have in a software project.

If I'd have a choice in the used language I might or might not use "C"
depending on the requirements to fulfill.

To be concrete; it's unlikely that I'll use Algol 68 or "your language"
and it had been the case that we had to use languages like C++ or Java.

If I have a choice in the participating programmers I would certainly
select those programmers that don't program by copy/paste and fail to
create correct code even in trivial cases like 'for' loops.

To be concrete for the factors exposed here; I would not select you for
the programming team; more often than not I see you only complaining
and having issues with understanding of (commonly known) programming
and programming language aspects.

As a pure programmer with a given environment I would use the features
of a language that appears most appropriate. You, OTOH, will obviously
be helpless since you fail even with simple loops in "C" - since that's
what "C" provides as control constructs for loops.

Janis